弹性搜索:使用 spring-data-elasticsearch 的连续页面导航在一定限制后结果为空
Elastic Search : Consecutive Page navigation using spring-data-elasticsearch results empty after certain limit
使用rest-clients /_search?size=100&from=500, 能够获取结果
同样不适用于以下使用代码的步骤
使用 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不以from
和size
为参数,而是page
和size
不同,因为page
和 from
不一样。
如果您希望您的页面包含 100 个元素,那么您需要使用 page=5
而不是 from=500
nativeSearchQueryBuilder.withPageable(new PageRequest(5, 100));
使用rest-clients /_search?size=100&from=500, 能够获取结果
同样不适用于以下使用代码的步骤
使用 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不以from
和size
为参数,而是page
和size
不同,因为page
和 from
不一样。
如果您希望您的页面包含 100 个元素,那么您需要使用 page=5
from=500
nativeSearchQueryBuilder.withPageable(new PageRequest(5, 100));