弹性搜索:使用spring-data-elasticsearch结果的连续页面导航在一定限制后为空

时间:2016-11-23 18:32:09

标签: java elasticsearch spring-data-elasticsearch

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

    使用代码

  2. 同样不能使用以下步骤
  3. 使用 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);
    

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

1 个答案:

答案 0 :(得分:1)

PageRequest constructor不会将fromsize作为参数,但pagesize不同,因为page和{ {1}}不一样。

如果您希望自己的网页包含100个元素,则需要使用from

而不是from=500
page=5