У меня проблема с сортировкой ElasticSearch 6.5.4, которая не сортируется по результатам по дате создания (длинный тип данных). Я заметил, что когда я беру выполненный запрос и запускаю его через почтальона, он хорошо сортирует результаты. Но когда я использую Java Rest High Client для запуска поиска, он не сортирует их. Я думаю, что вид может быть потерян по пути, но я не могу понять, где. Вот мой запрос и запрос клиента:
Запрос, который работает при прямом вызове через Почту с использованием Почтальона:
{"from":0,"size":10,"query":{"terms":{"userId":["e121ef00a58351af24232c3f3df3ad1a30824620","3c0ae0a2416192099473ed7af8d22ad30ca0f52e","3a484c5489b26a940cbb3ee18b4c89515bbb6e1d",
"b753dd75d14c935462740da3957a769a9e233244","a2615ff53e1001af45bd0f403f290de8b6ea5ded","2153a4a5b40974e854b1dc6c2ccf3c0b2049e9a8","feaf45c82bbe2e575a73823aece0f6efac4fda54",
"71c75c8e038a72fa0f88ab9475b5c8a7bae6b46f","48c67d3ccfeebab312ca2cc4aef272aba8508c80","22237886185534c260f5505b30d6e81454ef232e","25d225ae0e36df42d286df1d6d6f98a83b4fbf45",
"30e201dbeea395594bec29ed3b6ea94af71772ee","19d89dc3c481d833a393e61d47f7b3100c6b44d3","1b1225a660c6e71d1ca96f1a4f0732da3934b145","50d0b409bef3b7cd3f40b8defbd8997b66c0a2c4"],"boost":1.0}},
"sort":[{"createdDate":{"order":"desc"}}]}
Запрос клиента:
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.sort(new FieldSortBuilder("createdDate").order(SortOrder.DESC));
searchSourceBuilder.query(QueryBuilders.termsQuery("userId", userIds));
searchSourceBuilder.from(startResultFrom);
searchSourceBuilder.size(resultSize);
// Sort by newest first
SearchRequest searchRequest = new SearchRequest();
searchRequest.indices(IndexName.THINGS.getIndexName());
searchRequest.source(searchSourceBuilder);
Полный сгенерированный запрос, который передается клиенту:
{
searchType=QUERY_THEN_FETCH,
indices=[things],
indicesOptions=IndicesOptions[ignore_unavailable=false, allow_no_indices=true, expand_wildcards_open=true, expand_wildcards_closed=false, allow_aliases_to_multiple_indices=true, forbid_closed_indices=true, ignore_aliases=false],
types=[],
routing='null',
preference='null',
requestCache=null,
scroll=null,
maxConcurrentShardRequests=0,
batchedReduceSize=512,
preFilterShardSize=128,
allowPartialSearchResults=null, source=
{"from":0,"size":10,"query":{"terms":{"userId":["e121ef00a58351af24232c3f3df3ad1a30824620","3c0ae0a2416192099473ed7af8d22ad30ca0f52e","3a484c5489b26a940cbb3ee18b4c89515bbb6e1d",
"b753dd75d14c935462740da3957a769a9e233244","a2615ff53e1001af45bd0f403f290de8b6ea5ded","2153a4a5b40974e854b1dc6c2ccf3c0b2049e9a8","feaf45c82bbe2e575a73823aece0f6efac4fda54",
"71c75c8e038a72fa0f88ab9475b5c8a7bae6b46f","48c67d3ccfeebab312ca2cc4aef272aba8508c80","22237886185534c260f5505b30d6e81454ef232e","25d225ae0e36df42d286df1d6d6f98a83b4fbf45",
"30e201dbeea395594bec29ed3b6ea94af71772ee","19d89dc3c481d833a393e61d47f7b3100c6b44d3","1b1225a660c6e71d1ca96f1a4f0732da3934b145","50d0b409bef3b7cd3f40b8defbd8997b66c0a2c4"],"boost":1.0}},
"sort":[{"createdDate":{"order":"desc"}}]}}