Elastisk søgning

Sådan konfigureres en Elasticsearch-indeksskabeloner

Sådan konfigureres en Elasticsearch-indeksskabeloner
Indekser er en væsentlig elastiksøgefunktion, uden hvilken den sandsynligvis ikke fungerer som den fungerer. Selvom Elasticsearch-indekser kan variere afhængigt af den tilsigtede anvendelse, har de en tendens til at dele fælles egenskaber. I betragtning af dette kan det være kedeligt at skabe lignende egenskaber for alle indekser. I stedet er det meget mere effektivt at oprette en skabelon, vi kan henvise til, når vi opretter et indeks.

Denne vejledning fører dig gennem ind og ud af Elasticsearch-indeksskabeloner, der giver dig mulighed for at definere skabeloner eller tegninger til almindelige indekser. For eksempel, hvis du konstant logger data fra eksterne kilder, kan du definere en plan for alle loggeindekser.

BEMÆRK: Før vi begynder, er det godt at bemærke, at vejledningen fokuserer på den nyeste version af Elasticsearch-7.8 på tidspunktet for skrivning - og det kan variere fra andre versioner. Vi antager også, at du har Elasticsearch kørende på et system et eller andet sted.

Lad os komme i gang med at arbejde med Elasticsearch-indeksskabeloner.

Hvad er en indeksskabelon til elastisk søgning?

En Elasticsearch-indeksskabelon er en metode, der bruges til at instruere Elasticsearch til at konfigurere indeks ved oprettelse. For eksempel konfigurerer en indeksskabelon, der bruges i en datastrøm, streamens backingindeks ved oprettelse.  En indeksskabelon oprettes manuelt inden oprettelse af indeks. Når du opretter et indeks, anvender skabelonen konfigurationsindstillingerne for indekset.

Den seneste version af Elasticsearch har to typer brugbare skabeloner. Den ene er den indeksskabelon, og den anden er komponentskabeloner. Som vi allerede har oprettet, hjælper indeksskabeloner med at oprette Elasticsearch-indekser.

Komponentskabeloner er moduler eller blokke, der kan genbruges, der bruges til at konfigurere indstillinger, kortlægning og aliaser. Komponentskabeloner anvendes ikke direkte på de oprettede indekser, men kan hjælpe med at oprette indeksskabeloner.

Nogle standardindeksskabeloner, der bruges af Elasticsearch, inkluderer: metrics - * - *, logs - * - * .

Sådan oprettes en indeksskabelon

For at oprette nye indeksskabeloner eller opdatere eksisterende bruger vi PUT-skabelon-API'en. Ved hjælp af _index_template-slutpunktet kan vi sende en HTTP-anmodning om at tilføje en skabelon.

Den generelle syntaks til oprettelse af en skabelon er:

PUT _index_template / template_name

Det er godt at bemærke, at skabelonnavnet er en påkrævet parameter. Overvej nedenstående anmodning, der opretter en indeksskabelon som template_1

PUT _index_template / template_1

/ * Definer indeks mønster * /
"index_patterns": ["te *"],
"prioritet": 1,
/ * Definer indstillinger for indekserne * /
"skabelon":
"indstillinger":
"number_of_shards": 2


For cURL-brugere er kommandoen:

krølle -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Definer indeksmønsteret * / "index_patterns": ["te *"], "prioritet": 1, / * Definer indstillinger for indekserne * / "skabelon": "indstillinger": "number_of_shards": 2 '

Elasticsearch bruger et wildcard-mønster til at matche indeksnavne, hvor skabelonerne anvendes. Ændring eller opdatering af en indeksskabelon påvirker ikke kun oprettede indekser kun dem, der oprettes efter brug af denne skabelon.

Ovenfra kan du kommentere dine skabeloner ved hjælp af C-Language-kommenteringsmetoden. Du kan tilføje så mange kommentarer som du vil, hvor som helst i kroppen undtagen de krøllede seler åbning.

I brødteksten til en indeksskabelon kan du inkludere forskellige definitioner såsom:

Der er andre egenskaber, du kan medtage i indeksskabelonens brødtekst. Overvej dokumentationen for at lære mere.

https: // www.elastisk.co / guide / da / elasticsearch / reference / 7.10 / indeksskabeloner.html

Nedenfor er et eksempel på en anmodning om at oprette en ny skabelon med version 1.0

PUT / _index_template / template_2

"index_patterns": ["remp *", "re *"],
"prioritet": 1,
"skabelon":
"indstillinger":
"number_of_shards": 2,
"number_of_replicas": 0

,
"version": 1.0

Du kan ikke have mere end en indeksskabelon med et matchende mønster og samme prioritet. Sørg derfor for at tildele forskellige prioriteter til at matche mønsterskabeloner.

Sådan får du indeksskabelon

For at få vist oplysninger om en indeksskabelon skal du sende en GET-anmodning til _index_template API. Brug f.eks. Anmodningen for at se oplysninger om template_2:

FÅ _index_template / template_2

CURL-kommandoen er:

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

Denne kommando skal vise oplysninger om template_2


"index_templates": [

"navn": "skabelon_2",
"index_template":
"index_mønstre": [
"remp *",
"re *"
],
"skabelon":
"indstillinger":
"indeks":
"number_of_shards": "2",
"number_of_replicas": "0"


,
"sammensat af" : [ ],
"prioritet": 1,
"version": 1


]

Du kan også bruge jokertegn til at få matchende skabeloner. Overvej f.eks. Nedenstående anmodning om at se alle skabeloner i Elasticsearch.

FÅ _index_template / *

CURL-kommandoen er.

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

Denne kommando skal give dig information om alle skabeloner i Elasticsearch


"index_templates": [

"name": "ilm-history",
"index_template":
"index_mønstre": [
"ilm-history-3 *"
],
"skabelon":
"indstillinger":
"indeks":
"format": "1",
"livscyklus" :
"name": "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"skjult": "sandt",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"

,
"kortlægninger":
"dynamisk": falsk,
"ejendomme" :
"index_age":
"type": "lang"
,
"@tidsstempel" :
"format": "epoch_millis",
"type": "dato"
,
"error_details":
"type": "tekst"
,
"succes":
"type": "boolsk"
,
"indeks":
"type": "nøgleord"
,
"stat" :
"dynamisk": sandt,
"type": "objekt",
--------------------------OUTPUT TRUNCATED-----------------------------------

Sådan slettes skabeloner

Sletning af en skabelon er lige så enkel som GET-skabelonen, men ved hjælp af DELETE-anmodning som:

SLET _index_template / template_2

Du kan bruge kommandoen cURL:

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

Denne kommando sletter automatisk den angivne skabelon.

Konklusion

Denne vejledning dækkede, hvad Elasticsearch-indeksskabeloner er, hvordan de fungerer, og hvordan man opretter, får vist og sletter indeksskabeloner. Disse grundlæggende oplysninger skal hjælpe dig i gang med at bruge Elasticsearch-indeksskabeloner.

Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...