Ricerca elastica

Perché i tipi di mappatura ES sono stati rimossi in ES v6?.0?

Perché i tipi di mappatura ES sono stati rimossi in ES v6?.0?

Cosa sono i tipi di mappatura?

In Elasticsearch, ogni documento appartiene a un Indice e a 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 i seguenti campi completamente diversi da utente genere:


"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 unico campo come:

GET nome_idx/utente,sito web/_ricerca

"richiesta":
"incontro":
"id": 1


Il _genere campo dei documenti è stato combinato con il suo _id per generare a _uid campo quindi documenti con lo stesso _id potrebbe esistere in un unico indice.

Leggi il tutorial Elasticsearch per principianti per una comprensione più approfondita dell'architettura Elasticsearch e inizia con Installa ElasticSearch su Ubuntu.

Perché i tipi di mappatura vengono rimossi??

Proprio come abbiamo detto sopra mentre spiegavamo come l'indice e i tipi fossero simili a un database e una tabella in un database relazionale, il team di Elasticsearch pensava lo stesso, ma non era così poiché Lucene Engine non segue la stessa analogia. Ciò è dovuto ai seguenti motivi:

Alternative ai tipi di mappatura

Sebbene la decisione sia stata presa, dobbiamo ancora separare i diversi tipi di dati. Ora, la prima alternativa è documenti separati nel proprio indice che ha due vantaggi:

Un'altra alternativa alla separazione dei dati è mantenere un'abitudine _genere campo in ogni documento che inseriamo, come:

PUT db_name/doc/123

"tipo": "utente",
"id": 123,
"nome": "Shubham",
"sito web": 1

PUT db_name/doc/website

"tipo": "sito web",
"id": 1,
"title": "LinuxHint",
"link": "https://linuxhint.com/"

Questo è un utilizzo eccellente se stai cercando una soluzione personalizzata completa.

Programma per la rimozione dei tipi di mappatura

Poiché rimuovere i tipi di mappatura è un grande cambiamento, il team di ES sta eseguendo il processo lentamente. Ecco un programma per il roll out estratto da elastico.co:

Conclusione

In questa lezione, abbiamo esaminato il motivo per cui i tipi di mapping Elasticsearch sono stati rimossi e non saranno completamente supportati nelle prossime versioni.

Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...