Elastisk søk

Hvorfor ble ES-karttyper fjernet i ES v6.0?

Hvorfor ble ES-karttyper fjernet i ES v6.0?

Hva er karttyper?

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 kartleggingstype var en logisk partisjon av et objekt med andre objekter som tilhørte andre kartleggingstyper i samme indeks.

Hver kartleggingstype har sine egne felt. For eksempel en type bruker kan ha følgende felt:


"id": 123,
"name": "Shubham",
"nettsted": 1

En annen kartleggingstype i samme indeks nettsted kan ha følgende felt som er helt forskjellige fra bruker type:


"id": 1,
"title": "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 å angi et enkelt felt som:

FÅ idx_name / bruker, nettsted / _search

"spørring":
"kamp":
"id": 1


De _type felt av dokumentene ble kombinert med dets _id å generere en _uid felt så dokumenter med samme _id kunne eksistere i en enkelt indeks.

Les Elasticsearch Tutorial for Beginners for en dypere forståelse av Elasticsearch Architecture og kom i gang med den med Install ElasticSearch på Ubuntu.

Hvorfor fjernes karttyper?

Akkurat som det vi sa ovenfor mens vi forklarte hvordan indeks og typer lignet på en database og en tabell i en relasjonsdatabase, trodde Elasticsearch-teamet det samme, men dette var ikke tilfelle da Lucene Engine ikke følger den samme analogien. Dette skyldes følgende årsaker:

Alternativer til karttyper

Selv om avgjørelsen er tatt, må vi fremdeles skille forskjellige typer data. Nå er det første alternativet å separate dokumenter i egen indeks som har to fordeler:

Et annet alternativ til å skille data er å opprettholde en tilpasset _type felt i hvert dokument vi setter inn, som:

PUT db_name / doc / 123

"type": "bruker",
"id": 123,
"name": "Shubham",
"nettsted": 1

PUT db_name / doc / nettsted

"type": "nettsted",
"id": 1,
"title": "LinuxHint",
"link": "https: // linuxhint.com / "

Dette er en utmerket bruk hvis du leter etter en komplett tilpasset løsning.

Tidsplan for fjerning av karttyper

Siden fjerning av karttyper er en stor endring, gjør ES-teamet prosessen sakte. Her er en tidsplan for utrullingen hentet fra elastikken.co:

Konklusjon

I denne leksjonen så vi på hvorfor Elasticsearch Mapping-typer ble fjernet, og vil ikke fullstendig støttes i kommende versjoner.

Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...
Mus Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kartlegg museknappene på en annen måte for annen programvare med X-Mouse Button Control
Kanskje du trenger et verktøy som kan gjøre at musens kontroll endres med hvert program du bruker. Hvis dette er tilfelle, kan du prøve et program som...
Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har nylig lest om Microsoft Sculpt Touch trådløs mus og bestemte meg for å kjøpe den. Etter å ha brukt den en stund bestemte jeg meg for å dele mi...