Хиты> всего - Ограничено до 10000 записей - Увеличить лимит - PullRequest
0 голосов
/ 29 февраля 2020

enter image description here

Мой запрос API выглядит следующим образом ... GET /my_index/_search?scroll=1m

Наряду с получением результатов поиска, я также хочу получить подсчет общих результатов при одном go. Однако при таргетинге на hits>total>value количество записей никогда не будет превышать 10000. В связи с этим мне придется запускать API подсчета отдельно. Есть ли способ получить более 10000 записей в одном и том же _search запросе?

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Попробуйте установить track_total_hits для параметра поиска значение true.

Обычно общее число попаданий не может быть точно рассчитано без посещения всех совпадений, что является дорогостоящим для запросов, которые соответствуют множеству документы. track_total_hits parameter позволяет вам контролировать, как следует отслеживать общее количество попаданий. Учитывая, что часто бывает достаточно иметь нижнюю границу количества обращений, например, «есть как минимум 10000 обращений», по умолчанию установлено значение 10000. Это означает, что запросы будут подсчитывать общее количество попаданий с точностью до 10000 обращений. Это хороший компромисс для ускорения поиска, если вам не нужно точное число попаданий после определенного порога.

Если задано значение true, ответ поиска всегда будет отслеживать количество совпадений, соответствующих запросу. точно

В официальной документации, описывающей, что это такое, есть отличная статья .

Или, если вам нужен только общий счет, просто используйте API подсчета :

1 голос
/ 29 февраля 2020

Просто добавьте "track_total_hits": true к вашему запросу.

(см. Elasticsearch Reference: Отслеживание всего хитов )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...