Маппинг в OpenSearch: Как просматривать, создавать и обновлять типы маппингов

Сопоставление аналогично схемам баз данных, которые определяют свойства каждого поля в индексе. Эти свойства могут содержать тип данных каждого поля, а также способ токенизации и индексации полей. Кроме того, отображение может содержать различные свойства расширенного уровня для каждого поля, определяющие возможности, предоставляемые Lucene и OpenSearch. Создать отображение индекса можно с помощью REST-точки _mappings.

При первом обнаружении в индексе нового поля, отображение которого не предопределено, OpenSearch автоматически пытается угадать тип данных и анализатор этого поля и установить его значение по умолчанию. Например, если вы индексируете целочисленное поле без предварительного определения отображения, OpenSearch установит отображение этого поля как long.

Примеры

Создание индекса с предопределенным мапингом:

Создание маппинга в существующем индексе:

Просмотр мапинга существующего индекса:

Просмотр мапинга существующего поля:

Примечания

Невозможно обновить отображение существующего поля. Если отображение имеет неправильный тип, то единственным вариантом является пересоздание индекса с обновленным отображением и повторное индексирование.

Общие проблемы

  • Наиболее распространенной проблемой в OpenSearch является некорректно заданное Маппинга, который ограничивает функциональность поля. Например, если тип данных строкового поля задан как текст, вы не можете использовать это поле для агрегирования, сортировки или фильтров точного совпадения. Аналогично, если строковое поле индексируется динамически без предопределенного Маппинга, OpenSearch автоматически создает два внутренних поля. Одно - как тип текста для полнотекстового поиска, а другое - как тип ключевого слова, что в большинстве случаев является бесполезной тратой места.
  • Маппинг каждого индекса является частью состояния кластера и управляется мастер-узлами. Если отображение слишком велико, то есть в индексе тысячи полей, состояние кластера становится слишком большим, чтобы его можно было обработать, и возникает проблема взрыва отображения, что приводит к замедлению работы кластера.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий