В FAQ Lucene упоминается несколько подходов к преодолению исключения TooManyClauses, которое не применяется к Elasticsearch, как раньше, когда раньше они имели фильтр терминов отдельно, но теперь его часть запросов запроса сама.
ниже приведен пример использования терминов в контексте фильтра:
{
"query": {
"bool": {
"filter": [
{ "term": { "user" : ["kimchy", "elasticsearch"]},
]
}
}
}
Если вам действительно нужно использовать запрос вместо фильтра, вы можете обновить indices.query.bool.max_clause_count: n
вasticsearch.yml(замените n на нужное количество предложений) файл каждого узла кластера и перезапустите кластер.
Обратите внимание, что это увеличит требования к памяти для поиска, который расширяется до многих терминов.