Cosa sono i tipi di mappatura?
In Elasticsearch, ogni documento appartiene a un indice e un tipo. Un indice può essere considerato come un database mentre un tipo può essere visto come una tabella rispetto a un database relazionale. Un tipo di mappatura era una partizione logica di un oggetto con altri oggetti che appartenevano ad altri tipi di mappatura nello stesso indice.
Ogni tipo di mappatura ha i suoi campi. Ad esempio, un tipo di utente può avere i seguenti campi:
"id": 123,
"Nome": "Shubham",
"Sito web": 1
Un altro tipo di mappatura nello stesso indice sito web può avere campi seguenti che sono completamente diversi da utente tipo:
"id": 1,
"Titolo": "Linuxhint",
"link": "https: // linuxhint.com/"
Durante la ricerca di un documento in un indice, la ricerca avrebbe potuto essere limitata a un singolo documento specificando un singolo campo come:
Ottieni idx_name/utente, sito Web/_search
"query":
"incontro":
"id": 1
IL _tipo Il campo dei documenti è stato combinato con il suo _id per generare un _uid campo Quindi documenti con lo stesso _id potrebbe esistere in un unico indice.
Leggi ElasticSearch Tutorial per principianti per una comprensione più profonda dell'architettura di Elasticsearch e inizia con l'installazione di Elasticsearch su Ubuntu.
Perché vengono rimossi i tipi di mappatura?
Proprio come quello che abbiamo detto sopra, spiegando come l'indice e i tipi fossero simili a un database e una tabella in un database relazionale, il team di Elasticsearch ha pensato allo stesso modo, ma questo non era così che il motore Lucene non segue la stessa analogia. Ciò è dovuto ai seguenti motivi:
Alternative ai tipi di mappatura
Sebbene la decisione sia stata presa, dobbiamo ancora separare diversi tipi di dati. Ora, la prima alternativa è a documenti separati nel proprio indice che ha due vantaggi:
Un'altra alternativa alla separazione dei dati è la manutenzione di un'usanza _tipo campo in ogni documento inseriamo, come:
Metti db_name/doc/123
"Digita": "Utente",
"id": 123,
"Nome": "Shubham",
"Sito web": 1
Metti db_name/doc/sito Web
"Tipo": "Sito web",
"id": 1,
"Titolo": "Linuxhint",
"link": "https: // linuxhint.com/"
Questo è un utilizzo eccellente se stai cercando una soluzione personalizzata completa.
Programmabile per la rimozione dei tipi di mappatura
Poiché la rimozione dei tipi di mappatura è un grande cambiamento, il team ES sta facendo lentamente il processo. Ecco un programma per il lancio estratto dall'elastic.CO:
Conclusione
In questa lezione, abbiamo esaminato il motivo per cui Elasticsearch Mapping tipi rimossi e non saranno completamente non supportati nelle versioni in arrivo.