Почему возвращаемый результат ответа Elasticsearch по-прежнему равен 10000, когда параметр max_result_window был изменен?
У меня есть Django приложение с Elasticsearch. У меня есть индекс search_index, где мне нужно вывести более 10 000 результатов. Я вручную изменил параметр max_result_window
, чтобы генерировать больше, чем 10 000 начальных ограничений. Но после изменения параметра max_result_window
и size
в body_search
моего запроса, результат продолжает быть ограниченным 10 000.
Во-первых, я изменил параметр max_result_window
на 12345 из search_index, используя метод со страницы Окно результатов слишком большое, из + размер должен быть меньше или равен: [10000], но было [100000]. Я проверил на http://localhost:9200/search_index/_settings, и у меня получился следующий результат "max_result_window":"
12345
"
. Затем я изменил параметр size
своего body_search = {'query': {...}, 'size':
12345
}
. Но конечный результат всегда ограничен 10 000.
Кто-нибудь знает, почему изменение не учитывается в моем поиске?
Tldr;
Я на 99% уверен, что вам лучше использовать scroll api / pagination.
Но чтобы решить вашу проблему, вам нужно сказать эластику, чтобы отслеживать точный счет
Это можно сделать через "track_total_hits": true
в вашем запросе.