Elasticsearch - Отображение

Сопоставление - это схема документов, хранящихся в индексе. Он определяет тип данных, например geo_point или string, и формат полей, присутствующих в документах, и правилах для управления отображением динамически добавляемых полей.

PUT bankaccountdetails
{
   "mappings":{
      "properties":{
         "name": { "type":"text"}, "date":{ "type":"date"},
         "balance":{ "type":"double"}, "liability":{ "type":"double"}
      }
   }
 }

Когда мы запускаем приведенный выше код, мы получаем ответ, как показано ниже -

{
   "acknowledged" : true,
   "shards_acknowledged" : true,
   "index" : "bankaccountdetails"
}

Типы данных полей

Elasticsearch поддерживает ряд различных типов данных для полей в документе. Типы данных, используемые для хранения полей в Elasticsearch, подробно обсуждаются здесь.

Основные типы данных

Это основные типы данных, такие как текст, ключевое слово, дата, long, double, boolean или ip, которые поддерживаются почти всеми системами.

Сложные типы данных

Эти типы данных представляют собой комбинацию основных типов данных. К ним относятся массив, объект JSON и вложенный тип данных. Пример вложенного типа данных показан ниже & минус

POST /tabletennis/_doc/1
{
   "group" : "players",
   "user" : [
      {
         "first" : "dave", "last" : "jones"
      },
      {
         "first" : "kevin", "last" : "morris"
      }
   ]
}

Когда мы запускаем приведенный выше код, мы получаем ответ, как показано ниже -

{
   "_index" : "tabletennis",
   "_type" : "_doc",
   "_id" : "1",
   _version" : 2,
   "result" : "updated",
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   },
   "_seq_no" : 1,
   "_primary_term" : 1
}

Другой пример кода показан ниже -

POST /accountdetails/_doc/1
{
   "from_acc":"7056443341", "to_acc":"7032460534",
   "date":"11/1/2016", "amount":10000
}

Когда мы запускаем приведенный выше код, мы получаем ответ, как показано ниже -

{  "_index" : "accountdetails",
   "_type" : "_doc",
   "_id" : "1",
   "_version" : 1,
   "result" : "created",
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   },
   "_seq_no" : 1,
   "_primary_term" : 1
}

Мы можем проверить приведенный выше документ, используя следующую команду -

GET /accountdetails/_mappings?include_type_name=false

Удаление типов сопоставления

Индексы, созданные в Elasticsearch 7.0.0 или более поздней версии, больше не принимают сопоставление _default_. Индексы, созданные в 6.x, будут продолжать работать, как и раньше, в Elasticsearch 6.x. Типы устарели в API версии 7.0.