Springboot整合es

简介: Springboot整合es

1、引入依赖

//注意版本一致

<dependency>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-starter-data-elasticsearch</artifactId>

</dependency>

 

2、配置类

@Configuration
public class ESConfiguration {
    @Bean
    public RestHighLevelClient elasticsearchClient() {
        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("admin", "admin"));
 
        
        return new RestHighLevelClient(RestClient.builder(
                //使用公网地址 new HttpHost("www.xxx.com", 9200,"https")
                new HttpHost("localhost", 9200)
        ).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
            public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                httpClientBuilder.disableAuthCaching();
                return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
            }
        }));
    }
}

3、使用

//搜索条件
SearchRequest searchRequest = new SearchRequest(indexName);
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
 
//分页
sourceBuilder.from(pageNo);
sourceBuilder.size(pageSize);//聚合时都默认返回10条数据,我们可以通过指定size值来修改这个默认值
 
//查询条件构造 调用sourceBuilder相关api设置即
 
//指定字段查询
sourceBuilder.fetchSource(include,exclude);//可以是数组
 
//超时设置
sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
 
//查询
searchRequest.source(sourceBuilder);
SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
 
//结果
SearchHit[] searchHits =   searchResponse.getHits().getHits();
List<Map<String, Object>> maps = new ArrayList<>();
for (SearchHit hit : searchHits) {
    Map<String, Object> sourceAsMap = hit.getSourceAsMap();
    maps.add(sourceAsMap);
}

备注

size的大小不能超过index.max_result_window这个参数的设置,默认为10,000可以通过下面语句设置

PUT /indexName/_settings

{

   "index": {

       "max_result_window": "10000000"

   }

}


设置完查看

GET /indexName/_settings


相关文章
|
5月前
|
前端开发 Java 应用服务中间件
深入学习--SpringBoot
深入学习--SpringBoot
29 0
|
负载均衡 Java 开发工具
springboot2.x整合consul简单入门
springboot2.x整合consul简单入门
176 0
|
Java 程序员
SpringBoot整合ES集群报错集锦
SpringBoot整合ES集群报错集锦
59 0
|
缓存 Java
Springboot整合ES,ES版不一致
Springboot整合ES,ES版不一致
174 0
|
Dubbo IDE NoSQL
SpringBoot+Mybatis多模块(module)项目搭建教程
SpringBoot+Mybatis多模块(module)项目搭建教程
433 0
SpringBoot+Mybatis多模块(module)项目搭建教程
|
XML 运维 Java
springboot实用配置
(一)打包与运行 SpringBoot项目快速启动(Linux版) 基于Linux (CenteroS7) 安装JDK,且版本不低于打包时使用的JDK版本 安装包保存在/usr/local/自定义目录中或$HOME下 其他操作参照windows版进行
|
Java 测试技术 Maven
SpringBoot的常见配置
SpringBoot的常见配置
|
Java API 索引
SpringBoot集成ES
SpringBoot集成ES
|
JSON NoSQL Java
SpringBoot 整合 Jest 操作 ES|学习笔记
快速学习 SpringBoot 整合J est 操作 ES
211 0
SpringBoot 整合 Jest 操作 ES|学习笔记
|
Java Spring
深入理解SpringBoot(三)—— 配置
本文讲述了如何配置SpringBoot的配置文件
228 0
下一篇
无影云桌面