Поисковая система решает задачи отбора, ранжирования и анализа. Сначала сформулируем требования каталога, затем выберем подходящий инструмент.
Примеры course-products используют учебную схему и товар из главы 5 «Mapping и типы полей». Разборы упражнений ниже используют отдельный публичный набор тренажёра.
- От значения к намерению
- Границы ответственности
- Выбор инструмента
Поисковая система решает задачи отбора, ранжирования и анализа. Сначала сформулируем требования каталога, затем выберем подходящий инструмент.
Курс ориентирован на Elasticsearch 9.4.3. Разборы упражнений используют публичный набор products; остальные запросы показывают отдельные учебные индексы и могут требовать подготовки или прав, недоступных в тренажёре. Ответы сокращены, score может меняться. Для расширенных функций проверяйте лицензию и вариант развёртывания.
От значения к намерению
Покупатель вводит «наушники для бега», а не SQL-условие. Полезная выдача должна учитывать слова, характеристики, наличие и порядок результатов. Точное совпадение по артикулу и поиск по описанию требуют разных правил: артикул идентифицирует товар, описание помогает выразить намерение. Релевантность означает полезность для конкретного запроса, а не количество совпавших букв.
СамопроверкаГраницы ответственности
Основная БД хранит заказы, цены и бизнес-инварианты. Elasticsearch получает подготовленную поисковую проекцию: документ может объединять товар, бренд и доступные предложения. Обновления проекции обычно асинхронны, поэтому оформление заказа повторно проверяет актуальную цену и остаток в системе учёта. Нельзя делать транзакционную корректность покупки зависимой от свежести поискового индекса.
СамопроверкаВыбор инструмента
Для небольшого справочника может хватить индекса БД или встроенного полнотекстового поиска. Elasticsearch оправдан, когда нужны управляемая релевантность, языковой анализ, фасеты или распределённая нагрузка. Цена решения включает синхронизацию, инфраструктуру и наблюдаемость. Query DSL описывает поисковые деревья; ES|QL удобен для табличного анализа, EQL — для последовательностей событий. Их наличие не отменяет проектирование данных.
Пример отбора кандидатов: совпадение ещё не гарантирует полезный порядок.
{
"size": 3,
"query": {
"match": {
"name": "wireless"
}
}
}Как читать результат
Пример отбора кандидатов: совпадение ещё не гарантирует полезный порядок.
Разбор на примере каталога
Для запроса «наушники Sony до 100» разделите намерение на три части: тип товара, бренд и бюджет. Совпадение слов помогает выбрать кандидатов, бренд и цена ограничивают множество. Сортировка «сначала дешёвые» выражает отдельное предпочтение пользователя и может заменить порядок релевантности. До выбора движка проверьте, достаточно ли текущая БД поддерживает эти сценарии. Если нужны только два точных фильтра и небольшой каталог, отдельный кластер может увеличить стоимость без заметного выигрыша. Если добавляются языковые формы, фасеты и управляемое ранжирование, появляется предмет для измеримого сравнения.
СамопроверкаСамопроверка
Сначала ответьте самостоятельно, затем раскройте объяснение.
1. Чем поиск по артикулу отличается от поиска по описанию?
Артикул требует точного идентификатора, описание — анализа текста и ранжирования.
2. Где проверять цену при покупке?
В авторитетной системе учёта: поисковая проекция может отставать.
3. Когда достаточно БД?
Когда её поиска хватает по качеству и нагрузке, а отдельный индекс не приносит измеримой пользы.
4. Что входит в стоимость Elasticsearch?
Не только серверы, но и доставка изменений, резервирование, мониторинг и сопровождение схемы.
5. Как определить успешность поиска?
Через сценарии пользователей, размеченные запросы, метрики качества и ограничения задержки.
Краткая памятка
- Артикул требует точного идентификатора, описание — анализа текста и ранжирования.
- В авторитетной системе учёта: поисковая проекция может отставать.
- Когда её поиска хватает по качеству и нагрузке, а отдельный индекс не приносит измеримой пользы.
- Не только серверы, но и доставка изменений, резервирование, мониторинг и сопровождение схемы.
- Через сценарии пользователей, размеченные запросы, метрики качества и ограничения задержки.
Официальная документация
Готовы применить знания?
Подтвердите прочтение, чтобы сохранить своё место. Чтение и решение заданий учитываются отдельно в этом браузере с помощью гостевой cookie.