SpringBoot整合elasticsearch-rest-high-level-client

SpringBoot整合elasticsearch-rest-high-level-client
做复杂的搜索,
完整springboot项目,修改配置可直接跑,最低要求jdk8
https://github.com/nalipiaoxiang/ElasticSearchDemo.git

// 构建搜索
		SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
		// 查询条件很多,如果做搜索时有些选项可填可不填,可空克不空
		// 创建条件查询
		BoolQueryBuilder boolBuilder = QueryBuilders.boolQuery();
		// 条件一
		boolBuilder.must(QueryBuilders.matchPhraseQuery("字段1", "xx"));
		// 条件二
		boolBuilder.must(QueryBuilders.matchPhraseQuery("字段2", "xx"));
		// 带范围的
		// searchSourceBuilder.postFilter(QueryBuilders.rangeQuery("某个是数的字段").gte("gte大于等于").lte("lte小于等于"));
		// 排个序
		// searchSourceBuilder.sort("排序字段", SortOrder.DESC);
		// 分个页(from从第几条开始,size每页显示几条)
		// searchSourceBuilder.from(0).size(10);
		// 将条件添加进构造的搜索
		searchSourceBuilder.query(boolBuilder);
		// 查询所有(这条和上面这条只能生效一个,有条件就不能匹配所有)
		// searchSourceBuilder.query(QueryBuilders.matchAllQuery());
		SearchRequest searchRequest = new SearchRequest();
		// 设置索引
		searchRequest.indices("logstash-apigatewaytracelogger-dev-2019.05.10");
		searchRequest.source(searchSourceBuilder);
		SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
		SearchHits searchHits = searchResponse.getHits();
		System.out.println("查到数目:" + searchHits.getTotalHits());
		SearchHit[] hits = searchHits.getHits();
		ArrayList<String> list = new ArrayList<String>();
		for (SearchHit hit : hits) {
			String json = hit.getSourceAsString();
			list.add(json);
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值