Учебники

Elasticsearch — картография

Отображение — это схема документов, хранящихся в индексе. Он определяет тип данных, такой как 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
}

Параметры отображения

Параметры сопоставления определяют структуру сопоставления, информацию о полях и о хранилище и то, как сопоставленные данные будут анализироваться во время поиска. Это следующие параметры отображения —