Was sind Mapping -Typen?
In Elasticsearch gehört jedes Dokument zu einem Index und einem Typ. Ein Index kann als Datenbank betrachtet werden, während ein Typ im Vergleich zu einer relationalen Datenbank als Tabelle angesehen werden kann. Ein Mapping -Typ war eine logische Partition eines Objekts mit anderen Objekten, die zu anderen Zuordnungstypen im selben Index gehörten.
Jeder Mapping -Typ hat seine eigenen Felder. Zum Beispiel eine Art von Art von Benutzer kann folgende Felder haben:
"id": 123,
"Name": "Shubham",
"Website": 1
Ein weiterer Mapping -Typ im selben Index Webseite kann folgende Felder haben, die sich völlig von den unterscheiden Benutzer Typ:
"id": 1,
"Titel": "LinuxHint",
"Link": "https: // linuxhint.com/"
Bei der Suche nach einem Dokument in einem Index könnte die Suche auf ein einzelnes Dokument beschränkt werden, indem ein einzelnes Feld als:
GET IDX_NAME/User, Website/_SEARCH
"Anfrage":
"passen":
"id": 1
Der _Typ Das Feld der Dokumente wurde mit seinem kombiniert _Ausweis a _UID Feld also Dokumente mit demselben _Ausweis könnte in einem einzigen Index existieren.
Lesen Sie das Elasticsearch -Tutorial für Anfänger für ein tieferes Verständnis der Elasticsearch -Architektur und beginnen.
Warum werden Mapping -Typen entfernt??
Genau wie das, was wir oben gesagt haben, als wir erklären, wie Index und Typen einer Datenbank und einer Tabelle in einer relationalen Datenbank ähnlich waren, dachte das Elasticsearch -Team dasselbe, aber dies war nicht der Fall, da Lucene Engine nicht der gleichen Analogie folgt. Dies liegt an den folgenden Gründen:
Alternativen zu Mapping -Typen
Obwohl die Entscheidung getroffen wurde, müssen wir immer noch verschiedene Arten von Daten trennen. Jetzt ist die erste Alternative zu Separate Dokumente in ihrem eigenen Index Das hat zwei Vorteile:
Eine weitere Alternative zur Trennung der Daten ist die Aufrechterhaltung eines Brauchs _Typ Feld in jedem Dokument, das wir einfügen, wie:
Legen Sie DB_NAME/DOC/123 ein
"Typ": "Benutzer",
"id": 123,
"Name": "Shubham",
"Website": 1
Setzen Sie DB_NAME/DOC/Website ein
"Typ": "Website",
"id": 1,
"Titel": "LinuxHint",
"Link": "https: // linuxhint.com/"
Dies ist eine hervorragende Verwendung, wenn Sie nach einer vollständigen kundenspezifischen Lösung suchen.
Planen zum Entfernen von Kartierungstypen
Da das Entfernen von Mapping -Typen eine große Veränderung ist, führt das ES -Team den Prozess langsam durch. Hier ist ein Zeitplan für die aus elastische Ausrüstung extrahierte Einführung.Co:
Abschluss
In dieser Lektion haben wir uns angesehen, warum Elasticsearch -Mapping -Typen entfernt wurden und in den kommenden Versionen völlig nicht unterstützt werden.