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

Языки, синонимы и multi-fields

Разделим языковой поиск, точное сравнение и расширение смысла, не смешивая их в одном поле.

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

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

  • Морфология и языки
  • Несколько представлений значения
  • Синонимы как управляемое расширение

Разделим языковой поиск, точное сравнение и расширение смысла, не смешивая их в одном поле.

Логика главы
  • Морфология и языки
  • Несколько представлений значения
  • Синонимы как управляемое расширение

Разделим языковой поиск, точное сравнение и расширение смысла, не смешивая их в одном поле.

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

01 / 04

Морфология и языки

Русский анализатор может сближать формы слов, но не понимает намерение как человек. Смешанные языки, модели устройств и бренды требуют тестового словаря. Часто полезно хранить языковые поля отдельно и выбирать их по языку запроса. Транслитерация не возникает автоматически: это отдельная нормализация или дополнительное представление с измеряемыми рисками ложных совпадений.

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

Несколько представлений значения

name может иметь основной text и подполе raw типа keyword. Первое ищет по словам, второе сортирует или сравнивает целиком. Normalizer keyword-поля сохраняет один токен и подходит для нормализации регистра; он не заменяет полноценный анализатор. Добавленное multi-field не заполняется для старых документов само: их нужно переобработать.

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

Синонимы как управляемое расширение

Эквивалентные и направленные правила решают разные задачи: «ноутбук, laptop» и «ультрабук => ноутбук» не одно и то же. Многословные синонимы требуют сохранения графа позиций; synonym_graph предназначен для поискового анализа. Изменения search-time синонимов удобнее обновлять без полной переиндексации при корректной конфигурации. Любое расширение проверяют на точность, а не только на рост числа результатов.

Одно исходное название получает независимые поисковое и точное представления.

PUT /course-products-language
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text",
        "analyzer": "russian",
        "fields": {
          "raw": {
            "type": "keyword"
          }
        }
      }
    }
  }
}

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

Одно исходное название получает независимые поисковое и точное представления.

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

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

Для «наушники» и «наушников» проверяйте реальные токены русского анализатора. Для Sony и SONY решите, считаются ли значения одинаковыми в точном фильтре, и задайте normalizer. Для «беспроводные наушники» и «Bluetooth headset» нужна отдельная стратегия языков или синонимов — морфология сама не создаст перевод. Синоним может расширить запрос до нерелевантных аксессуаров, поэтому после каждого изменения добавляйте положительный и отрицательный пример в контрольный набор. Рост total без проверки качества не считается улучшением.

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

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

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

1. Стемминг равен переводу?

Нет, он сближает словоформы, а не переводит между языками.

2. Зачем name.raw?

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

3. Почему normalizer не tokenizer?

Он должен сохранить одно значение keyword как один токен.

4. Где применять synonym_graph?

В поисковом анализаторе для корректной обработки многословных альтернатив.

5. Что делать после добавления multi-field?

Переобработать существующие документы, чтобы заполнить новое представление.

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

  • Нет, он сближает словоформы, а не переводит между языками.
  • Для точного представления, сортировки и агрегаций независимо от анализа текста.
  • Он должен сохранить одно значение keyword как один токен.
  • В поисковом анализаторе для корректной обработки многословных альтернатив.
  • Переобработать существующие документы, чтобы заполнить новое представление.

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

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

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