searchSourceBuilder.query(query).sort(sb).from(fromField).size(sizeField);
searchRequest.indices(elasticsearchUserIndex).source(searchSourceBuilder);
SearchResponse searchResponse = elasticSearchConfig.client().search(searchRequest, RequestOptions.DEFAULT);
SearchHit[] hits = searchResponse.getHits().getHits();
Long totalCount = searchResponse.getHits().getTotalHits();
List<Map<String, Object>> list = new ArrayList<>();
for (SearchHit value: hits) {
list.add(value.getSourceAsMap());
}
这就是我正在使用的代码。一旦我设置了from和size参数,我就会根据设置的size得到点击数。但是,要在响应中加上总的页面计数,我需要该查询的总点击数。
How to get total result count when setFrom is used in elasticsearch QueryBuilders?
尝试使用该线程中的解决方案,但我得到的总命中数为0,尽管我根据大小得到命中数。totalCount返回0
3条答案
按热度按时间lf3rwulv1#
您需要将
track_total_hits
设置为true
,这样您就可以获得响应的总命中数。mi7gmzs62#
把我的ES版本改成了7.3.0,我的高级客户端也升级到了7.3.0。
参照:https://discuss.elastic.co/t/issue-with-high-level-rest-client-api/195853
sshcrbum3#
下面是如何获取总计数
返回一个新的值;
此错误在idea java中弹出:无法取消引用long