Оглавление курса

Зачем нужен поисковый движок

Поисковая система решает задачи отбора, ранжирования и анализа. Сначала сформулируем требования каталога, затем выберем подходящий инструмент.

Разделов: 4Elasticsearch 9.4.3Ещё не прочитан

Чему вы научитесь

  • От значения к намерению
  • Границы ответственности
  • Выбор инструмента

Поисковая система решает задачи отбора, ранжирования и анализа. Сначала сформулируем требования каталога, затем выберем подходящий инструмент.

Примеры course-products используют учебную схему и товар из главы 5 «Mapping и типы полей». Разборы упражнений ниже используют отдельный публичный набор тренажёра.

Логика главы
  • От значения к намерению
  • Границы ответственности
  • Выбор инструмента

Поисковая система решает задачи отбора, ранжирования и анализа. Сначала сформулируем требования каталога, затем выберем подходящий инструмент.

Курс ориентирован на Elasticsearch 9.4.3. Разборы упражнений используют публичный набор products; остальные запросы показывают отдельные учебные индексы и могут требовать подготовки или прав, недоступных в тренажёре. Ответы сокращены, score может меняться. Для расширенных функций проверяйте лицензию и вариант развёртывания.

01 / 04

От значения к намерению

Покупатель вводит «наушники для бега», а не SQL-условие. Полезная выдача должна учитывать слова, характеристики, наличие и порядок результатов. Точное совпадение по артикулу и поиск по описанию требуют разных правил: артикул идентифицирует товар, описание помогает выразить намерение. Релевантность означает полезность для конкретного запроса, а не количество совпавших букв.

Самопроверка
02 / 04

Границы ответственности

Основная БД хранит заказы, цены и бизнес-инварианты. Elasticsearch получает подготовленную поисковую проекцию: документ может объединять товар, бренд и доступные предложения. Обновления проекции обычно асинхронны, поэтому оформление заказа повторно проверяет актуальную цену и остаток в системе учёта. Нельзя делать транзакционную корректность покупки зависимой от свежести поискового индекса.

Самопроверка
03 / 04

Выбор инструмента

Для небольшого справочника может хватить индекса БД или встроенного полнотекстового поиска. Elasticsearch оправдан, когда нужны управляемая релевантность, языковой анализ, фасеты или распределённая нагрузка. Цена решения включает синхронизацию, инфраструктуру и наблюдаемость. Query DSL описывает поисковые деревья; ES|QL удобен для табличного анализа, EQL — для последовательностей событий. Их наличие не отменяет проектирование данных.

Пример отбора кандидатов: совпадение ещё не гарантирует полезный порядок.

GET /course-products/_search
{
  "size": 3,
  "query": {
    "match": {
      "name": "wireless"
    }
  }
}

Как читать результат

Пример отбора кандидатов: совпадение ещё не гарантирует полезный порядок.

Самопроверка
04 / 04

Разбор на примере каталога

Для запроса «наушники Sony до 100» разделите намерение на три части: тип товара, бренд и бюджет. Совпадение слов помогает выбрать кандидатов, бренд и цена ограничивают множество. Сортировка «сначала дешёвые» выражает отдельное предпочтение пользователя и может заменить порядок релевантности. До выбора движка проверьте, достаточно ли текущая БД поддерживает эти сценарии. Если нужны только два точных фильтра и небольшой каталог, отдельный кластер может увеличить стоимость без заметного выигрыша. Если добавляются языковые формы, фасеты и управляемое ранжирование, появляется предмет для измеримого сравнения.

Самопроверка

Самопроверка

Сначала ответьте самостоятельно, затем раскройте объяснение.

1. Чем поиск по артикулу отличается от поиска по описанию?

Артикул требует точного идентификатора, описание — анализа текста и ранжирования.

2. Где проверять цену при покупке?

В авторитетной системе учёта: поисковая проекция может отставать.

3. Когда достаточно БД?

Когда её поиска хватает по качеству и нагрузке, а отдельный индекс не приносит измеримой пользы.

4. Что входит в стоимость Elasticsearch?

Не только серверы, но и доставка изменений, резервирование, мониторинг и сопровождение схемы.

5. Как определить успешность поиска?

Через сценарии пользователей, размеченные запросы, метрики качества и ограничения задержки.

Краткая памятка

  • Артикул требует точного идентификатора, описание — анализа текста и ранжирования.
  • В авторитетной системе учёта: поисковая проекция может отставать.
  • Когда её поиска хватает по качеству и нагрузке, а отдельный индекс не приносит измеримой пользы.
  • Не только серверы, но и доставка изменений, резервирование, мониторинг и сопровождение схемы.
  • Через сценарии пользователей, размеченные запросы, метрики качества и ограничения задержки.

Официальная документация

Готовы применить знания?

Подтвердите прочтение, чтобы сохранить своё место. Чтение и решение заданий учитываются отдельно в этом браузере с помощью гостевой cookie.