Как Elasticsearch6.8 кэширует тот же запрос во второй раз? - PullRequest
0 голосов
/ 15 апреля 2020

Я использую Elasticsearch 6.8, и я хотел бы знать, если я отправлю один и тот же запрос несколько раз, ES выполнит какую-либо оптимизированную операцию на этом? Если да, есть ли документ, объясняющий, как это работает?

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

Добавление более подробной информации к ответу, данному @ fmdaboville.

Приведенные выше кеши предоставляются из коробки, и ниже приведены некоторые варианты, если вы хотите включить / отключить больше кеша.

Включение / точная настройка дополнительных параметров кэша

Тип запроса: Если вы используете фильтры в поисковом запросе, то они по умолчанию кэшируются в Elasticsearch и не влияют на оценку, так как просто означает отфильтровать данные, дополнительную информацию от этого официального лица c:

В контексте фильтра предложение запроса отвечает на вопрос «Соответствует ли этот документ этому пункт запроса? » Ответ прост: да или нет - баллы не рассчитываются. Контекст фильтра в основном используется для фильтрации структурированных данных, например,

Эта временная метка попадает в диапазон от 2015 до 2016 года? Поле статуса установлено как «опубликовано»? Часто используемые фильтры будут автоматически кэшироваться Elasticsearch для ускорения работы.

Использование refre sh интервал: это официальный do c имеет намного больше информации, но если коротко, то хорошо, если у вас все в порядке, чтобы получить некоторые устаревшие данные и готовы обменять их на производительность.

Это делает новые изменения индекса видимыми для поиска.

Отключить кэш для определенного запроса

По умолчанию тяжелые поиски кэшируются на уровне осколков, как объяснено в этом официальном do c, но для Для определенных запросов, если вы хотите включить / отключить это поведение, вы можете go использовать это в вашем вызове API .

Просто добавьте ниже параметр запроса в свой параметр поиска. ссылка в вызове API имеет несколько других настроек для этого.

request_cache=true/false
0 голосов
/ 15 апреля 2020

Вот документация, объясняющая, как работает оптимизированный поиск: Настройка скорости поиска . Часть о кеш , кажется, именно то, что вы ищете:

Существует несколько кешей, которые могут помочь с производительностью поиска, таких как кеш файловой системы, кеш запросов или кеш запросов. Тем не менее, все эти кеши поддерживаются на уровне узла, что означает, что если вы выполняете один и тот же запрос два раза подряд, имеете 1 реплику или более и используете циклический перебор, алгоритм маршрутизации по умолчанию, то эти два запроса будут go различаться осколочные копии, предотвращающие помощь кешей на уровне узлов.

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