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的顺序显示。 但现在它是随机检索的。