Hva er kartleggingstyper?
I Elasticsearch tilhører hvert dokument en indeks og en type. En indeks kan betraktes som en database, mens en type kan sees på som en tabell sammenlignet med en relasjonsdatabase. En karttype var en logisk partisjon av et objekt med andre objekter som tilhørte andre kartleggingstyper i samme indeks.
Hver karttype har sine egne felt. For eksempel en type bruker kan ha følgende felt:
"ID": 123,
"Navn": "Shubham",
"Nettsted": 1
Nok en kartleggingstype i samme indeks nettsted kan ha følgende felt som er helt forskjellige fra bruker type:
"id": 1,
"Tittel": "Linuxhint",
"Link": "https: // linuxhint.com/"
Mens du søkte etter et dokument i en indeks, kunne søket ha vært begrenset til et enkelt dokument ved å spesifisere et enkelt felt som:
Få IDX_NAME/Bruker, nettsted/_Search
"spørring":
"kamp":
"id": 1
De _type Feltet til dokumentene ble kombinert med dets _id å generere en _uid felt så dokumenter med det samme _id kan eksistere i en enkelt indeks.
Les Elasticsearch Tutorial for nybegynnere for en dypere forståelse av Elasticsearch Architecture og kom i gang med den med install Elasticsearch på Ubuntu.
Hvorfor fjernes kartleggingstyper?
Akkurat som det vi sa ovenfor mens vi forklarte hvordan indeks og typer var lik en database og en tabell i en relasjonsdatabase, mente Elasticsearch -teamet det samme, men dette var ikke tilfelle, da Lucene -motor ikke følger den samme analogien. Dette er på grunn av følgende grunner:
Alternativer til kartleggingstyper
Selv om avgjørelsen er tatt, må vi fortsatt skille forskjellige typer data. Nå er det første alternativet å Separate dokumenter i sin egen indeks som har to fordeler:
Et annet alternativ til å skille dataene er å opprettholde en skikk _type Felt i hvert dokument vi setter inn, som:
Sett DB_NAME/DOC/123
"Type": "Bruker",
"ID": 123,
"Navn": "Shubham",
"Nettsted": 1
Sett DB_NAME/DOC/NETTSTED
"Type": "Nettsted",
"id": 1,
"Tittel": "Linuxhint",
"Link": "https: // linuxhint.com/"
Dette er en utmerket bruk hvis du leter etter en komplett tilpasset løsning.
Planlegging av fjerning av kartleggingstyper
Siden å fjerne kartleggingstyper er en stor endring, gjør ES -teamet prosessen sakte. Her er en tidsplan for utrulling av elastisk.co:
Konklusjon
I denne leksjonen så vi på hvorfor elasticsearch -kartleggingstyper fjernet og vil være helt ikke støttet i kommende versjoner.