я использую spring-data -asticsearch для разработки API с es в качестве бэкэнда. и я использую startScroll(long scrollTimeInMillis, SearchQuery searchQuery, Class<T> clazz)
метод для получения результатов из эластичного поиска. но сортировка не работает.
Я установил сортировку в 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)
оба не работают.
и я начинаю думать, что прокрутка не поддерживает сортировку.
ожидается, что результат будет отображаться в порядке созданного ASC.
но теперь его просто случайно выбирают.