`

SpringBoot-第十二章 搜索框架ElasticSearch整合SpringBooot

 
阅读更多

mysql:database,table,record

ES:           index,type,document

ES在6.x版本以后重大变更:一个index只能存在一个type

 

需要建一个新用户来启动ES,root用户没法启动

 

安装后没法访问http://安装ES的IP:9200

$ES_HOME/config/下elasticsearch-.yml配置文件 配置下面参数
network.host: xx.xx.xx.xx

http.port: 9200

 

ERROR: [3] bootstrap checks failed

修改config/elasticsearch.yml
discovery.type: single-node

再启动,启动成功!此时不进行启动检查!## File descriptor check 跳过

 

要在防火墙中放开9200 9300端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9200 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 9300 -j ACCEPT

 

参考链接:

https://www.cnblogs.com/yehui/p/9087845.html

https://blog.csdn.net/cool__7/article/details/81136987

 

 

ES的启动确认

http://10.138.60.123:9200

ES的健康状态检查

http://10.138.60.123:9200/_cat/health?v

查看ES的索引

http://10.138.60.123:9200/_cat/indices?v

创建ES索引

PUT:http://10.138.60.123:9200/customer?pretty

插入一条数据

http://10.138.60.123:9200/customer/external/1?pretty

{ "name":"kevin" }

返回

{

    "_index": "customer",数据库

    "_type": "external",表

    "_id": "1",主键

    "_version": 1,

    "result": "created",

    "_shards": {

        "total": 2,

        "successful": 1,

        "failed": 0

    },

    "created": true

}

 

查询一条记录

get:http://10.138.60.123:9200/customer/external/1?pretty

返回

{ "_index": "customer", "_type": "external", "_id": "1", "_version": 1, "found": true,是否已经找到 "_source": { "name": "kevin" } }

 

 

 在使用SpringBoot整合Elasticsearch 之前,我们应该了解下它们之间对应版本关系。

Spring Boot Version (x) Spring Data Elasticsearch Version (y) Elasticsearch Version (z)
x <= 1.3.5 y <= 1.3.4 z <= 1.7.2*
x >= 1.4.x 2.0.0 <=y < 5.0.0** 2.0.0 <= z < 5.0.0**

 

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

 

spring.data.elasticsearch.cluster-name=elasticsearch
spring.data.elasticsearch.cluster-nodes=xxx.xxx.xxx.xxx:9300
spring.data.elasticsearch.repositories.enabled=true

 

 

 

@Document(
        indexName = "blog",//要小写 代表数据库
type = "atricle"//要小写 代表表
)
public class Article implements Serializable{
    private static final long serialVersionUID=1L;
    private long id;
    private String titile;
    private String summary;
    private String content;
    private int pv;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getTitile() {
        return titile;
    }

    public void setTitile(String titile) {
        this.titile = titile;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public int getPv() {
        return pv;
    }

    public void setPv(int pv) {
        this.pv = pv;
    }
}

 

@Component
@Document(indexName = "blog",type="atricle",shards = 1,replicas = 0)
public interface ArticleRepository extends ElasticsearchRepository<Article,Long>{

}

 

@RequestMapping("/es")
@RestController
public class AtricleController {

    @Autowired
private ArticleRepository repository;

    @RequestMapping("/save")
    public String save()
    {
        Article article = new Article();
        article.setId(1);
        article.setTitile("nihao");
        article.setContent("lalalala");
        article.setSummary("66666summary");
        article.setPv(9998);
        repository.save(article);
        return "success";
    }
}

 

添加好面的代码就可以通过url地址访问了

 

http://localhost:8081/es/save 访问完就在es里添加了一条记录

 

通过查询到了一个新的数据库也就是一个新的index

http://10.138.60.123:9200/_cat/indices?v

 

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open blog 974t88jwRpOXuRFE4SOreQ 5 1 1 0 5.6kb 5.6kb yellow open customer 2u-wByWGQaSugyhKzgZmUQ 5 1 1 0 4.1kb 4.1kb

 

http://10.138.60.123:9200/blog 查询表结构

{
    "blog": {
        "aliases": {},
        "mappings": {
            "atricle": {
                "properties": {
                    "content": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "id": {
                        "type": "long"
                    },
                    "pv": {
                        "type": "long"
                    },
                    "summary": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "titile": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            }
        },
        "settings": {
            "index": {
                "refresh_interval": "1s",
                "number_of_shards": "5",
                "provided_name": "blog",
                "creation_date": "1552542258282",
                "store": {
                    "type": "fs"
                },
                "number_of_replicas": "1",
                "uuid": "974t88jwRpOXuRFE4SOreQ",
                "version": {
                    "created": "5061599"
                }
            }
        }
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Java开发案例-springboot-04-整合Elasticsearch-源代码+文档.rar

    Java开发案例-springboot-04-整合Elasticsearch-源代码+文档.rar Java开发案例-springboot-04-整合Elasticsearch-源代码+文档.rar Java开发案例-springboot-04-整合Elasticsearch-源代码+文档.rar Java开发案例-...

    Java开发案例-springboot-05-整合Easy-Es实现搜索-源代码+文档.rar

    Java开发案例-springboot-05-整合Easy-Es实现搜索-源代码+文档.rarJava开发案例-springboot-05-整合Easy-Es实现搜索-源代码+文档.rarJava开发案例-springboot-05-整合Easy-Es实现搜索-源代码+文档.rarJava开发案例-...

    springboot整合es-springboot-elasticsearch.zip

    SpringBoot整合Elasticsearch是现代Java开发中常见的一项任务,因为SpringBoot的便捷性和Elasticsearch的高效搜索能力,使得这种结合在数据检索、分析和日志存储等领域广泛应用。本项目"springboot-elasticsearch-...

    Springboot-的各种demo.rar

    Springboot-elasticsearch 与 Elasticsearch 整合 Springboot-i18n SpringBoot 国际化配置 SpringBoot-multi-source SpringBoot 多数据源配置,全局异常自定义处理 SpringBoot2-mybatisplus SpringBoot 与mybatis-...

    springboot-elasticsearch-master.rar

    《SpringBoot整合Elasticsearch实战详解》 在现代大数据处理和搜索引擎领域,Elasticsearch(简称ES)以其高效、易用的特点受到了广泛欢迎。而SpringBoot作为Java开发中的轻量级框架,以其快速构建应用的能力,成为...

    springboot 和一些主流框架的整合的各个基本demo

    hello word 最简单的版本 Springboot-web web 版本...Springboot-elasticsearch 与 Elasticsearch 整合 Springboot-i18n SpringBoot 国际化配置 SpringBoot-multi-source SpringBoot 多数据源配置,全局异常自定义处理

    springboot和一些主流框架的整合的各个基本demo

    hello word 可能性版本 Springboot-web 网页版本 ...Springboot-elasticsearch 与Elasticsearch整合 Springboot-i18n SpringBoot国际化配置 SpringBoot-多源 SpringBoot多数据源配置,全局异常自定义处理

    springboot操作es demo,springboot-elasticsearch

    springboot操作es demo,springboot-elasticsearch

    springboot-0.0.1-SNAPSHOT.jar

    springboot-0.0.1-SNAPSHOT.jar

    springboot-elasticsearch

    三、SpringBoot整合Elasticsearch 1. 添加依赖:在SpringBoot项目中,我们首先需要在pom.xml或build.gradle文件中添加Elasticsearch的依赖。SpringBoot提供了对Elasticsearch的自动配置支持,只需要添加`spring-boot...

    springboot-quartz-elasticsearch

    标题 "springboot-quartz-elasticsearch" 指的是一个整合了Spring Boot、Quartz定时任务框架和Elasticsearch搜索引擎的项目。这个项目提供了一个实践性的示例,用于演示如何在Spring Boot应用程序中集成并使用这两种...

    es整合springboot-elasticsearch-demo.zip

    **标题解析:** "es整合springboot-elasticsearch-demo" 这个标题暗示了这是一个关于如何将Elasticsearch集成到Spring Boot应用的示例项目。Elasticsearch是一个强大的分布式搜索引擎,而Spring Boot则是一个用于...

    Springboot-Notebook:Springboot-Notebook是一种以springboot为基础开发框架,应用集成Redis,Rabbitmq,ES,MongoDB等互联网主流技术,实现各种常见功能点的综合性案例

    Springboot-Notebook是一系列以springboot为基础的开发框架,整合了Redis , Rabbitmq , ES , MongoDB , sharding-jdbc , zookeeper等互联网主流技术,实现了开发中常见功能点的综合实战性案例。 本着拿来即用的...

    springboot-elasticsearch-example

    本项目"springboot-elasticsearch-example"旨在演示如何将Spring Boot与Elasticsearch整合,以实现快速、便捷的数据检索功能。以下是关于这两个技术及其整合的详细知识: **Spring Boot** Spring Boot是由Pivotal...

    人工智能-项目实践-信息检索-基于springboot-es的博客检索系统

    基于springboot-es的博客检索系统 结合实际需求分析,打造个人博客检索系统。...3、Mysql数据同步到ES(logstash, mysql binlog, 第三方Go框架) 4、Springboot 整合操作ES 5、ElasticSearch 安装中文分词器

    springboot 整合es-springboot-es.zip

    在本项目中,"springboot 整合es-springboot-es.zip" 提供了一个整合Spring Boot与Elasticsearch(ES)的应用示例。Spring Boot是一个流行的Java框架,用于简化Spring应用的开发,而Elasticsearch则是一个分布式、...

    springboot - 2.7.3版本 - (五)整合Elasticsearch+Logstash+Kibana(ELK)

    ELK Stack是日志管理和监控的强大工具,其中Elasticsearch负责数据存储和搜索,Logstash用于日志收集和处理,而Kibana则提供了一个用户友好的界面来可视化和探索数据。 首先,我们需要理解Spring Boot。这是一个...

    springBoot整合es-springBoot-es.zip

    SpringBoot整合Elasticsearch是现代Java开发中常见的一项任务,特别是在构建数据检索和分析系统时。Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,而SpringBoot则是一个简化Spring应用初始搭建以及...

    elasticsearch-springboot-example-master_springboot_集成_elasticsea

    在IT行业中,Elasticsearch和SpringBoot是两个非常重要的组件,它们在大数据处理、搜索以及实时分析领域有着广泛的应用。本示例项目"elasticsearch-springboot-example-master_springboot_集成_elasticsearch"是一个...

    springboot-keepalive设置测试

    在IT行业中,Spring Boot是一个广泛使用的Java框架,用于快速开发微服务应用。它极大地简化了配置,使得开发者能够更专注于业务逻辑。在这个“springboot-keepalive设置测试”项目中,我们将关注的是如何在Spring ...

Global site tag (gtag.js) - Google Analytics