public Result query() {
Result result = new Result();
try {
SearchRequest searchRequest = new SearchRequest();
//索引名称
searchRequest.indices("查询的索引名称");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
//根据ID进行排序
sourceBuilder.sort("_id");
//分页
sourceBuilder.from(0);
sourceBuilder.size(100);
BoolQueryBuilder query = new BoolQueryBuilder();
sourceBuilder.query(query);
QueryBuilder queryBuilder = null;
//各种查询
queryBuilder = QueryBuilders.matchAllQuery();
//queryBuilder = QueryBuilders.termQuery("", "");
//queryBuilder = QueryBuilders.matchQuery("", "");
//queryBuilder = QueryBuilders.rangeQuery("");
//queryBuilder = QueryBuilders.existsQuery("");
//匹配策略
query.must(queryBuilder);
//query.mustNot(queryBuilder);
//query.should(queryBuilder);
searchRequest.source(sourceBuilder);
SearchResponse rp = RestHighLevelClient.get().search(searchRequest, RequestOptions.DEFAULT);
result.setTotal(rp.getHits().getTotalHits());
if (result.getTotal() > 0) {
List<RecordInfo> recordInfoList = new ArrayList<>();
RecordInfo recordInfo = null;
for (SearchHit searchHit : rp.getHits()) {
recordInfo = new RecordInfo();
recordInfo.set_id(searchHit.getId());
recordInfo.set_score(searchHit.getScore());
recordInfo.set_source(searchHit.getSourceAsString());
recordInfoList.add(recordInfo);
}
result.setRecordInfoList(recordInfoList);
}
} catch (IOException e) {
log.error("查询失败", e);
}
}
ES RestHighLevelClient实现分页查询
最新推荐文章于 2024-06-26 09:14:12 发布