Войти Регистрация
Data base

147. Студии у метро в Казани

Средняя

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 в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите один вариант. После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
multi_matchcross_fieldsoperatorсортировка по нескольким полям

Источник: доклад ДомКлик (группа Сбер) «Медленно работает кластер 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