java - Elasticsearch Java REST 客户端 : see if number of eligible hits exceeded SearchSourceBuilder size

标签 java elasticsearch limit

我有一个 Elasticsearch 请求:

SearchSourceBuilder source = new SearchSourceBuilder()
    .size(limit)
    .from(offset)
    .query(queryBuilder)
SearchRequest searchRequest = new SearchRequest(indexName)
        .types(type)
        .source(source);
SearchResponse searchResponse = client.search(searchRequest);

我需要根据返回的结果数量是否受到 limit 参数的限制(换句话说,是否有更多结果要返回)来选择性地返回分页标记。除了执行另一个查询或将大小设置为 limit + 1 之外,是否有办法查看与查询匹配的合格搜索命中数是否超过 limit并删除响应中的最后一个命中?

最佳答案

Elasticsearch 在响应的 hits.totalHits 属性中返回与您的查询匹配的文档总数。如果它大于 offset+limit 那么你有下一页。

关于java - Elasticsearch Java REST 客户端 : see if number of eligible hits exceeded SearchSourceBuilder size,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53268231/

相关文章:

php - Codeigniter Active Record - 计算总发现行数 (MySQL)

c++ - 创建大量文件后,fopen失败并显示EFBIG “File too large”

java - hibernate 空指针

elasticsearch - 使用NEST更新ElasticSearch中的子对象

parent-child - 在 Elasticsearch 查询中将子项视为父项的字段

curl - 您如何正确索引 elasticsearch 中的数据,找到它,然后删除它,所有这些都使用 CURL?

MySQL 子查询 AND 'NOT IN'

java - 在 Android 上从/res/raw/检索表格数据并将其存储到 2D 数组中的最快方法

java - 多维数组 : Java

java - 如何将 IFrameElement 添加到 SimplePanel