Elasticsearch: заказ фильтров для лучшей производительности

Руководство Elasticsearch говорит

«Каждый фильтр вычисляется и кэшируется независимо от того, где он используется. Если два разных запроса используют один и тот же фильтр, один и тот же набор битов фильтра будет использоваться повторно. Аналогично, если один запрос использует один и тот же фильтр в нескольких местах, только один набор битов рассчитывается и затем используется повторно. " (https://www.elastic.co/guide/en/elasticsearch/guide/current/filter-caching.html)

на другой странице также написано:

«Порядок фильтров в предложении bool важен для производительности. Более узкие фильтры должны быть помещены перед менее специфичными фильтрами, чтобы исключить как можно больше документов как можно раньше. Если пункт А может соответствовать 10 миллионам документов, и пункт B может соответствовать только 100 документам, тогда пункт B следует поставить перед пунктом A. " (https://www.elastic.co/guide/en/elasticsearch/guide/current/_filter_order.html)

Я не совсем понимаю, как важен порядок фильтров в предложении bool, когда каждый фильтр кэшируется независимо.

Я полагаю, что пункт B выполняется или извлекается из кэша, пункт A выполняется или извлекается из кэша, а затем наборы битов фильтра «объединяются». Почему порядок имеет значение?

Ответы на вопрос(4)

Ваш ответ на вопрос