只为记录这个批量查询方法
条件设置
searchSourceBuilder.query(QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("name", filter.getKeyWord()).analyzer("ik_max_word"))
.should(QueryBuilders.matchQuery("userNickName", filter.getKeyWord()).analyzer("ik_max_word"))
).from((filter.getPageNum() - 1) * filter.getPageSize())
.size(filter.getPageSize());
查询的实现
firstSearchRequest.source(searchSourceBuilder);
request.add(firstSearchRequest);
try {
sr = client.msearch(request, RequestOptions.DEFAULT);
} catch (IOException e) {
e.printStackTrace();
}
//hit对象结果集
for (MultiSearchResponse.Item item : sr.getResponses()) {
SearchResponse response = item.getResponse();
SearchHits hits = response.getHits();
for (SearchHit hit: hits){
EsResultData model = new EsResultData(hit.getId(),hit.getIndex(),hit.getType(),
hit.getScore(),hit.getSourceAsMap());
list.add(model);
}
System.out.println("搜到和【"+filter.getKeyWord()+"】有关的对象共:"+response.getHits().getTotalHits()+"条");
resultModel = new EsResultModel(response.getHits().getTotalHits(),list);
}
return resultModel;
```
es的批量查询后面深究....