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

Elasticsearch 映射

La mappatura è una struttura di documenti archiviati negli indici. Definisce i tipi di dati come geo_point o stringa, nonché il formato e le regole dei campi visualizzati nei documenti, per controllare la mappatura di campi aggiuntivi dinamici.

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

Quando eseguiamo il codice sopra, otteniamo la risposta come segue-

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

Tipi di dati dei campi

Elasticsearch supporta molti tipi di dati diversi per i campi dei documenti. Qui si discute in dettaglio i tipi di dati utilizzati per memorizzare i campi in Elasticsearch.

Tipi di dati core

Questi sono tipi di dati di base, come testo, parole chiave, data, intero a lunghezza, tipo double, booleano o ip, quasi tutti i sistemi li supportano.

Tipi di dati complessi

Questi tipi di dati sono combinazioni di tipi di dati core. Questi includono array, oggetti JSON e tipi di dati嵌套. Esempi di tipi di dati嵌套 sono elencati di seguito&minus

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

Quando eseguiamo il codice sopra, otteniamo la risposta come segue-

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

Un altro esempio di codice è il seguente-

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

Quando eseguiamo il codice sopra, otteniamo la risposta come segue-

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

Possiamo utilizzare il seguente comando per verificare i documenti sopra menzionati-

GET /accountdetails/_mappings?include_type_name=false

Elimina il tipo di mappatura

In Elasticsearch 7.0.0 o versioni successive, gli indici creati non accettano più la mappatura di default_. Gli indici 6.x continueranno a funzionare come prima in Elasticsearch 6.x. I tipi sono stati deprecati nell'API di 7.0.