Elastisk søk

Hvordan konfigurere en indeksmal for elastisk søk

Hvordan konfigurere en indeksmal for elastisk søk
Indekser er en viktig elastisk søkefunksjon uten hvilken den sannsynligvis ikke fungerer som den gjør. Selv om Elasticsearch-indekser kan variere avhengig av tiltenkt bruk, har de en tendens til å dele vanlige egenskaper. Gitt dette kan det være anstrengende å lage lignende egenskaper for alle indekser. I stedet er det mye mer effektivt å lage en mal vi kan referere til når vi lager en indeks.

Denne opplæringen vil lede deg gjennom inn og ut av Elasticsearch indeksmaler som lar deg definere maler eller tegninger for vanlige indekser. Hvis du for eksempel kontinuerlig logger data fra eksterne kilder, kan du definere en blåkopi for alle loggningsindekser.

MERK: Før vi begynner, er det greit å merke seg at opplæringen fokuserer på den nyeste versjonen av Elasticsearch-7.8 i skrivende stund - og det kan variere fra andre versjoner. Vi antar også at du har Elasticsearch som kjører på et system et sted.

La oss komme i gang med Elasticsearch indeksmaler.

Hva er en Elasticsearch indeksmal?

En Elasticsearch indeksmal er en metode som brukes til å instruere Elasticsearch om å konfigurere indekser ved opprettelse. For eksempel konfigurerer en indeksmal som brukes i en datastrøm strømens støtteindekser ved opprettelse.  En indeksmal opprettes manuelt før opprettelse av indekser. Når du lager en indeks, bruker malen konfigurasjonsinnstillingene for indeksen.

Den siste versjonen av Elasticsearch har to typer brukbare maler. Den ene er den indeksmal, og den andre er komponentmaler. Som vi allerede har etablert, hjelper indeksmaler med å lage Elasticsearch-indekser.

Komponentmaler er gjenbrukbare moduler eller blokker som brukes til å konfigurere innstillinger, kartlegging og aliaser. Komponentmaler blir ikke brukt direkte på de opprettet indeksene, men kan bidra til å lage indeksmaler.

Noen standardindeksmaler som brukes av Elasticsearch inkluderer: beregninger - * - *, logger - * - * .

Hvordan lage en indeksmal

For å lage nye indeksmaler eller oppdatere eksisterende bruker vi PUT mal API. Ved hjelp av _index_template-sluttpunktet kan vi sende en HTTP-forespørsel om å legge til en mal.

Den generelle syntaksen for å lage en mal er:

PUT _index_template / template_name

Det er greit å merke seg at malnavnet er en obligatorisk parameter. Vurder forespørselen nedenfor som oppretter en indeksmal som template_1

PUT _index_template / template_1

/ * Definer indeksmønsteret * /
"index_patterns": ["te *"],
"prioritet": 1,
/ * Definer innstillinger for indeksene * /
"mal":
"innstillinger":
"number_of_shards": 2


For cURL-brukere er kommandoen:

curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Definer indeksmønsteret * / "index_patterns": ["te *"], "prioritet": 1, / * Definer innstillinger for indeksene * / "mal": "innstillinger": "number_of_shards": 2 '

Elasticsearch bruker et jokertegnmønster for å matche indeksnavn der malene brukes. Endring eller oppdatering av en indeksmal påvirker ikke allerede opprettede indekser bare de som vil opprettes etter bruk av malen.

Ovenfra kan du kommentere malene dine ved å bruke C-Language-kommenteringsmetoden. Du kan legge til så mange kommentarer du vil, hvor som helst i kroppen unntatt åpningen av krøllete bukseseler.

I brødteksten til en indeksmal kan du inkludere forskjellige definisjoner som:

Det er andre egenskaper du kan inkludere i indeksmalmaten. Vurder dokumentasjonen for å lære mer.

https: // www.elastisk.co / guide / no / elasticsearch / reference / 7.10 / indeks-maler.html

Nedenfor er et eksempel på forespørsel om å opprette en ny mal med versjon 1.0

PUT / _index_template / template_2

"index_patterns": ["remp *", "re *"],
"prioritet": 1,
"mal":
"innstillinger":
"number_of_shards": 2,
"number_of_replicas": 0

,
"versjon": 1.0

Du kan ikke ha mer enn en indeksmal med et matchende mønster og samme prioritet. Sørg derfor for å tilordne forskjellige prioriteringer for å matche mønstermaler.

Hvordan få indeksmal

For å se informasjon om en indeksmal, send en GET-forespørsel til _index_template API. For eksempel, for å se informasjon om template_2, bruk forespørselen:

FÅ _index_template / template_2

CURL-kommandoen er:

krølle -XGET "http: // localhost: 9200 / _index_template / template_2"

Denne kommandoen skal vise informasjon om template_2


"index_templates": [

"navn": "mal_2",
"index_template":
"index_patterns": [
"remp *",
"re *"
],
"mal" :
"innstillinger":
"indeks":
"number_of_shards": "2",
"number_of_replicas": "0"


,
"består av" : [ ],
"prioritet": 1,
"versjon": 1


]

Du kan også bruke jokertegn for å få matchende maler. Vurder for eksempel forespørselen nedenfor for å se alle malene i Elasticsearch.

FÅ _index_template / *

CURL-kommandoen er.

krølle -XGET http: // localhost: 9200 / _index_template / *

Denne kommandoen skal gi deg informasjon om alle malene i Elasticsearch


"index_templates": [

"name": "ilm-history",
"index_template":
"index_patterns": [
"ilm-history-3 *"
],
"mal" :
"innstillinger":
"indeks":
"format": "1",
"Livssyklus" :
"name": "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"skjult": "sant",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"

,
"mappings":
"dynamisk": falsk,
"eiendommer" :
"index_age":
"type": "lang"
,
"@timestamp":
"format": "epoch_millis",
"type": "date"
,
"feilmeldingsdetaljer" :
"type": "tekst"
,
"suksess":
"type": "boolsk"
,
"indeks":
"type": "nøkkelord"
,
"stat" :
"dynamisk": sant,
"type": "objekt",
--------------------------UTGANG TRUNKERT-----------------------------------

Hvordan slette maler

Det er like enkelt å slette en mal som GET-malen, men bruke DELETE-forespørsel som:

SLETT _index_template / template_2

Du kan bruke cURL-kommandoen:

krøll -XDELETE "http: // localhost: 9200 / _index_template / template_2"

Denne kommandoen sletter automatisk den angitte malen.

Konklusjon

Denne opplæringen dekket hva Elasticsearch indeksmaler er, hvordan de fungerer, og hvordan du oppretter, viser og sletter indeksmaler. Denne grunnleggende informasjonen skal hjelpe deg i gang med å bruke Elasticsearch indeksmaler.

Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...