java - Elasticsearch : Consecutive Page navigation using spring-data-elasticsearch results empty after certain limit

标签 java elasticsearch spring-data-elasticsearch

  1. 使用rest-clients/_search?size=100&from=500,能够获取结果

    使用代码的以下步骤不起作用

  2. 通过以下代码片段使用spring-data-elasticsearch 使用 size=100, from=500 时,结果为空

    注意:它仅成功获取结果一次,即在创建索引之后

    NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();
    
    nativeSearchQueryBuilder.withIndices("indexName");
    nativeSearchQueryBuilder.withTypes("someType");
    nativeSearchQueryBuilder.withPageable(new PageRequest(500, 100));
    SearchQuery searchQuery = nativeSearchQueryBuilder.build();
    elasticsearchTemplate.queryForList(searchQuery,
                className);
    

    我们是否需要在上述代码片段中添加任何额外的步骤才能获得所需的结果?

最佳答案

PageRequest constructor不采用 fromsize 作为参数,但 pagesize 是不同的,因为 page from 不同。

如果您希望页面包含 100 个元素,则需要使用 page=5 而不是 from=500

 nativeSearchQueryBuilder.withPageable(new PageRequest(5, 100));

关于java - Elasticsearch : Consecutive Page navigation using spring-data-elasticsearch results empty after certain limit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40771863/

相关文章:

java - 在自己的线程中运行的 Spring Bean

java - JPA、Wildfly 14 和 PostgreSQL

mongodb - 多列索引的最佳数据库?

authentication - 缺少其余请求的身份验证elasticsearch

php - 如何在PHP中使用Elasticsearch搜索 "randomize"结果?

spring - spring data elasticsearch中字段的唯一约束

java - 在java中替换文本文件的内容

java - Spring Data Elasticsearch 不会隐式地从注解创建映射

spring - Spring Data Elasticsearch 是否支持 Amazon Elasticsearch?

java - JShell 不会使用 Git Bash 执行任何操作