Типы данных полей
У каждого поля есть тип данных поля или тип поля. Этот тип указывает на вид данных, которые содержит поле, такие как строки или логические значения, и предполагаемое использование. Например, вы можете индексировать строки в полях text и keyword. Однако значения в полях text анализируются для полнотекстового поиска, а строки в полях keyword остаются без изменений для фильтрации и сортировки.
Типы полей сгруппированы по семействам. Типы в одном семействе имеют абсолютно одинаковое поведение при поиске, но могут отличаться по использованию памяти или производительности.
В настоящее время существует две семейства типов, keyword и text. Другие семейства типов содержат только один тип поля. Например, семейство типов boolean состоит из одного типа поля: boolean.
Общие типы
-
binary - Бинарное значение, закодированное как строка Base64.
-
boolean - Значения
trueиfalse. - Ключевые слова
- Семейство ключевых слов, включая
keyword,constant_keywordиwildcard. - Числа
- Числовые типы, такие как
longиdouble, используемые для выражения количеств. - Даты
- Типы дат, включая
dateиdate_nanos. -
alias - Определяет псевдоним для существующего поля.
Объекты и реляционные типы
Структурированные типы данных
- Диапазон
- Типы диапазонов, такие как
long_range,double_range,date_rangeиip_range. -
ip - IPv4 и IPv6 адреса.
-
version - Версии программного обеспечения. Поддерживает правила приоритета Семантической версии.
-
murmur3 - Вычисляет и сохраняет хэши значений.
Типы агрегирования
-
aggregate_metric_double - Предварительно агрегированные значения метрик.
-
histogram - Предварительно агрегированные числовые значения в виде гистограммы.
Типы для поиска по тексту
-
textполя - Семейство типов text, включая
textиmatch_only_text. Анализируемый, неструктурированный текст. -
annotated-text - Текст, содержащий специальную разметку. Используется для идентификации именованных сущностей.
-
completion - Используется для предложений автодополнения.
-
search_as_you_type - Тип, похожий на
textдля автодополнения по мере ввода. -
token_count - Счётчик токенов в тексте.
Типы для ранжирования документов
-
dense_vector - Записывает плотные векторы чисел с плавающей точкой.
-
sparse_vector - Записывает разреженные векторы чисел с плавающей точкой.
-
rank_feature - Записывает числовой признак для повышения релевантности совпадений во время запроса.
-
rank_features - Записывает числовые признаки для повышения релевантности совпадений во время запроса.
Типы пространственных данных
Другие типы
-
percolator - Индексирует запросы, написанные на языке Query DSL.
Массивы
В Elasticsearch массивы не требуют отдельного типа данных поля. По умолчанию любое поле может содержать ноль или более значений, однако все значения в массиве должны быть одного типа поля. См. Массивы.
Мультиполя
Часто бывает полезно индексировать одно и то же поле разными способами для разных целей. Например, поле string можно отобразить как поле text для полнотекстового поиска и как поле keyword для сортировки или агрегирования. Или можно индексировать текстовое поле с анализатором standard, анализатором english и анализатором french.
Для этого используются мультиполя. Большинство типов полей поддерживают мультиполя через параметр fields.
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-types.html