无法对使用spring-data-elasticsearch的startScroll方法进行排序

时间:2019-03-28 00:54:09

标签: spring-data-elasticsearch

im使用spring-data-elasticsearch开发带有es作为后端的api。我使用startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz)方法从elasticsearch获取结果。但排序不起作用。

我在searchQuery中设置排序如下。

NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder().withIndices(<indices>).withTypes(<types>).withSort(<sort>)

并且我为<sort>

添加了以下内容
new FieldSortBuilder("created_at").unmappedType("date").order(SortOrder.valueOf("ASC"))

我还尝试将排序放在如下所示的可分页显示中。

NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder().withIndices(<indices>).withTypes(<types>).withPageable(<pageable>)

并且我为<pageable>

添加了以下内容
Sort sortRequest = Sort.by(Sort.Direction.valueOf('ASC'), "created_at")
PageRequest.of(<pageNumber>, <pageSize>, sortRequest)

都不起作用。 我开始认为滚动可能不支持排序。

expected是要使结果按created_at ASC的顺序显示。 但现在它是随机检索的。

0 个答案:

没有答案