springboot和elaticsearch整合实现检索


springboot默认支持两种技术和es进行交互
1、jest(默认不生效)
    *环境(全局配置文件)
       *需要导入io.searchbox.client.JestClient工具包
       
                io.searchbox
                jest
                5.3.2
       

       *配置文件中配置主机地址
       spring.elasticsearch.jest.uris=http://192.168.3.11:9200
    *实现步骤
      *注入JestClient到测试类
      *编写测试方法
        *创建和封装实体类属性
        *构建索引功能
        Index index = new Index.Builder(article).index("angugui").type("news").build();
        *执行
        jestClient.execute(index);
2、Spring Data ElasticSearch

   *可能会遇见的问题[es版本可能不合适,连接超时]
      *https://github.com/spring-projects/spring-data-elasticsearch查看对应版本号问题
        *解决方案
           *升级spingboot版本
           *安装对应的ES版本
   *环境配置(全局配置文件)
      *1)Client clusterNodes : clusterName
          spring.data.elasticsearch.cluster-name=elasticsearch
      *2)ElasticSearchTemplate 操作es
          spring.data.elasticsearch.cluster-nodes=http://192.168.3.11:9300
      *3、编写一个ElasticserchRepository的子接口来实现es
3、两种用法https://github.com/spring-projects/spring-data-elasticsearch
    *、编写一个ElasticsearchRepository接口,使用规则和JpaReponsitory一样
       *注意:要在封装的实体类上加上这个@Document(indexName = "angugui",type = "book")
    *、使用ElasticsearchTemplate and ElasticsearchRestTemplate实现
       *直接在测试类中注入实现
       *语法参考https://github.com/spring-projects/spring-data-elasticsearch中ElasticsearchTemplate实现
 

你可能感兴趣的:(JAVA)