Отображение — это схема документов, хранящихся в индексе. Он определяет тип данных, такой как geo_point или string, и формат полей, представленных в документах, и правила для управления отображением динамически добавляемых полей. Например,
POST http://localhost:9200/bankaccountdetails
Тело запроса
{ "mappings":{ "report":{ "_all":{ "enabled":true }, "properties":{ "name":{ "type":"string"}, "date":{ "type":"date"}, "balance":{ "type":"double"}, "liability":{ "type":"double"} } } } }
отклик
{"acknowledged":true}
Типы данных поля
Elasticsearch поддерживает несколько различных типов данных для полей в документе. Следующие типы данных используются для хранения полей в Elasticsearch —
Основные типы данных
Это основные типы данных, поддерживаемые почти всеми системами, такими как целочисленные, длинные, двойные, короткие, байтовые, двойные, с плавающей запятой, строки, даты, логические и двоичные.
Сложные типы данных
Эти типы данных являются комбинацией основных типов данных. Как массив, объект JSON и вложенный тип данных. Ниже приведен пример вложенного типа данных:
POST http://localhost:9200/tabletennis/team/1
Тело запроса
{ "group" : "players", "user" : [ { "first" : "dave", "last" : "jones" }, { "first" : "kevin", "last" : "morris" } ] }
отклик
{ "_index":"tabletennis", "_type":"team", "_id":"1", "_version":1, "_shards":{"total":2, "successful":1, "failed":0}, "created":true }
Типы гео данных
Эти типы данных используются для определения географических свойств. Например, geo_point используется для определения долготы и широты, а geo_shape для определения различных геометрических фигур, таких как прямоугольник.
Специализированные типы данных
Эти типы данных используются для специальных целей, например, IPv4 («ip») принимает IP-адрес, тип данных завершения используется для поддержки предложений автозаполнения и token_count для подсчета количества токенов в строке.
Типы картографирования
Каждый индекс имеет один или несколько типов отображения, которые используются для разделения документов индекса на логические группы. Отображение может отличаться друг от друга на основе следующих параметров —
Мета-Поля
Эти поля предоставляют информацию о сопоставлениях и других объектах, связанных с ним. Как и поля _index, _type, _id и _source.
поля
Разное отображение содержит разное количество полей и полей с разными типами данных.
Динамическое картографирование
Elasticsearch предоставляет удобный для пользователя механизм автоматического создания картографирования. Пользователь может опубликовать данные непосредственно в любое неопределенное сопоставление, и Elasticsearch автоматически создаст сопоставление, которое называется динамическим сопоставлением. Например,
POST http://localhost:9200/accountdetails/tansferreport
Тело запроса
{ "from_acc":"7056443341", "to_acc":"7032460534", "date":"11/1/2016", "amount":10000 }
отклик
{ "_index":"accountdetails", "_type":"tansferreport", "_id":"AVI3FeH0icjGpNBI4ake", "_version":1, "_shards":{"total":2, "successful":1, "failed":0}, "created":true }
Параметры отображения
Параметры сопоставления определяют структуру сопоставления, информацию о полях и о хранилище и то, как сопоставленные данные будут анализироваться во время поиска. Это следующие параметры отображения —