ElasticSearch Percolator Масштабируемость
Если документы индексируются по тегам и 100000 пользователей интересуются документами с конкретными тегами, будет ли Percolator оценивать все 100000 запросов или только те, которые запрашивают теги, присутствующие в данном документе?
1 ответ
Как говорят в документах:
После этого создается специальный запрос на основе терминов в индексе в памяти, которые выбирают возможные запросы перколяторов на основе их индексированных терминов запроса. Затем эти запросы оцениваются по индексу в памяти, если они действительно совпадают.
Выбор совпадений запросов кандидата перколятора является важной оптимизацией производительности во время выполнения запроса фильтра, поскольку он может значительно уменьшить количество соответствий кандидатов, которые должен оценить индекс в памяти.
Это означает, что будут выполняться все запросы, которые соответствуют определенному полю, присутствующему в документах, которые вы хотите фильтровать. Если у вас есть все 100 000 запросов с полем tag
тогда да, все 100 000 запросов будут выполнены, так как он должен проверить, присутствуют ли интересующие вас теги в этом массиве (если это массив).