Elasticsearch · Elasticsearch 8.19.12
ДомКлик держит объявления о квартирах в Elasticsearch (на митапе 2021 года команда рассказывала про поток 150 000 сообщений в минуту через Kafka). Покупатель в Казани ищет «студия метро» с ценой до 6 000 000 ₽.
Индекс listings: title и description (text), city (keyword), price_rub (long), published_at (date).
Каждое слово запроса должно встретиться хотя бы в одном из полей title, description — не обязательно в одном. Сортировка: price_rub по возрастанию, при равной цене — published_at по убыванию. Первые 10.
В работе: Поиск объявлений с текстовым запросом и сортировкой «сначала дешевле».
Источник: доклад ДомКлик (группа Сбер) «Медленно работает кластер Elasticsearch?», Elasticsearch Community Meetup, 2021. Условие пересказано своими словами.
Какой запрос вернёт студии у метро в нужном порядке?
- multi_match best_fields, operator and
- multi_match cross_fields, operator and, published_at desc
- cross_fields, operator and, published_at asc
- cross_fields без operator