English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Mapeamento do Elasticsearch

Os mapeamentos são a silhueta dos documentos armazenados no índice. Eles definem os tipos de dados, como geo_point ou string, e o formato e as regras dos campos exibidos no documento, para controlar o mapeamento dinâmico de campos.

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

Quando executamos o código acima, obtemos a seguinte resposta:-

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

Tipos de dados de campo

O Elasticsearch suporta vários tipos de dados diferentes para campos de documentos. Aqui discutimos em detalhes os tipos de dados usados para armazenar campos no Elasticsearch.

Tipos de dados principais

esses são tipos de dados básicos, como texto, palavras-chave, datas, inteiros longos, pontos flutuantes, booleanos ou ip, quase todos os sistemas suportam.

Tipos de dados complexos

Esses tipos de dados são combinações de tipos de dados principais. Isso inclui arrays, objetos JSON e tipos de dados aninhados. Um exemplo de tipo de dados aninhado é mostrado abaixo&minus

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

Quando executamos o código acima, obtemos a seguinte resposta:-

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

Outro exemplo de código é mostrado abaixo:-

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

Quando executamos o código acima, obtemos a seguinte resposta:-

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

Podemos usar o seguinte comando para verificar os documentos acima-

GET /accountdetails/_mappings?include_type_name=false

Exclua o tipo de mapeamento

No Elasticsearch 7Índices criados na versão .0.0 ou superior não aceitam mais o mapeamento _default_. Índices criados6.x continuará a funcionar no Elasticsearch 6Funcionam da mesma forma na .x. Em7Tipos descontinuados nas API da .0.