Elasticsearch: Фильтрация результатов

В этой статье объясняется, как фильтровать результаты.

Elasticsearch

Помните, что существует два контекста запроса; контекст запроса и контекст фильтра. Запросы, находящиеся в контексте запроса, влияют на баллы релевантности документов в зависимости от того, насколько хорошо они совпадают, в то время как запросы в контексте фильтра не влияют на баллы релевантности. Поэтому запросы фильтра можно использовать для исключения документов из результатов, если они не удовлетворяют запросам фильтра. Для документов, которые будут исключены, не имеет смысла рассчитывать оценку релевантности, поэтому Elasticsearch автоматически определяет это и оптимизирует выполнение запроса, чтобы избежать этого.

Как всегда, давайте разберем пример. Я покажу запрос, который соответствует термину pasta для поля name, как мы делали раньше, только на этот раз я добавлю запрос-фильтр, который отфильтрует продукты с количеством не от 10 до 15.

В этом примере в качестве запроса-фильтра я использовал запрос диапазона, но с таким же успехом можно было использовать и другой тип запроса. Если я выполню этот запрос, то вы увидите, что соответствуют только документы с количеством от 10 до 15.

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий