Elastisk sökning

Hur man konfigurerar en mall för elastiska sökindex

Hur man konfigurerar en mall för elastiska sökindex
Index är en viktig Elasticsearch-funktion utan vilken den förmodligen inte skulle fungera som den fungerar. Även om Elasticsearch-index kan variera beroende på avsedd användning, tenderar de att dela gemensamma egenskaper. Med tanke på detta kan det vara tröttsamt att skapa liknande egenskaper för alla index. Istället är det mycket effektivare att skapa en mall som vi kan hänvisa till när vi skapar ett index.

Den här självstudien går igenom ins och outs av Elasticsearch-indexmallar som låter dig definiera mallar eller ritningar för vanliga index. Om du till exempel ständigt loggar data från externa källor kan du definiera en ritning för alla loggningsindex.

NOTERA: Innan vi börjar är det bra att notera att handledningen fokuserar på den senaste versionen av Elasticsearch-7.8 när detta skrivs - och det kan variera från andra versioner. Vi antar också att du har Elasticsearch på ett system någonstans.

Låt oss börja arbeta med Elasticsearch-indexmallar.

Vad är en Elasticsearch-mall?

En Elasticsearch-indexmall är en metod som används för att instruera Elasticsearch att konfigurera index efter skapandet. Till exempel konfigurerar en indexmall som används i en dataström strömens stödindex vid skapandet.  En indexmall skapas manuellt innan index skapas. När du skapar ett index tillämpar mallen konfigurationsinställningarna för indexet.

Den senaste versionen av Elasticsearch har två typer av användbara mallar. En är indexmall, och den andra är komponentmallar. Som vi redan har etablerat hjälper indexmallar till att skapa Elasticsearch-index.

Komponentmallar är återanvändbara moduler eller block som används för att konfigurera inställningar, mappning och alias. Komponentmallar appliceras inte direkt på de skapade indexen men kan hjälpa till att skapa indexmallar.

Vissa standardindexmallar som används av Elasticsearch inkluderar: mätvärden - * - *, loggar - * - * .

Hur man skapar en indexmall

För att skapa nya indexmallar eller uppdatera befintliga använder vi PUT mall API. Med hjälp av slutpunkten _index_template kan vi skicka en HTTP-begäran för att lägga till en mall.

Den allmänna syntaxen för att skapa en mall är:

PUT _index_template / template_name

Det är bra att notera att mallnamnet är en nödvändig parameter. Tänk på begäran nedan som skapar en indexmall som mall_1

PUT _index_template / template_1

/ * Definiera indexmönster * /
"index_patterns": ["te *"],
"prioritet": 1,
/ * Definiera inställningar för indexen * /
"mall":
"inställningar" :
"number_of_shards": 2


För cURL-användare är kommandot:

curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Definiera indexmönster * / "index_patterns": ["te *"], "prioritet": 1, / * Definiera inställningar för indexen * / "mall": "inställningar": "number_of_shards": 2 '

Elasticsearch använder ett jokerteckenmönster för att matcha indexnamn där mallarna används. Att ändra eller uppdatera en indexmall påverkar inte redan skapade index endast de som kommer att skapas efter att ha använt den mallen.

Ovanifrån kan du kommentera dina mallar med C-Language-kommenteringsmetoden. Du kan lägga till så många kommentarer du vill, var som helst i kroppen utom de lockiga hängslenens öppning.

I kroppen av en indexmall kan du inkludera olika definitioner som:

Det finns andra egenskaper som du kan inkludera i indexmallen. Tänk på dokumentationen för att lära dig mer.

https: // www.elastisk.co / guide / sv / elasticsearch / reference / 7.10 / indexmallar.html

Nedan följer en exempelförfrågan om att skapa en ny mall med version 1.0

PUT / _index_template / template_2

"index_patterns": ["remp *", "re *"],
"prioritet": 1,
"mall":
"inställningar" :
"number_of_shards": 2,
"number_of_replicas": 0

,
"version": 1.0

Du kan inte ha mer än en indexmall med ett matchande mönster och samma prioritet. Se därför till att tilldela olika prioriteringar för att matcha mönstermallar.

Hur får man indexmall

För att visa information om en indexmall, skicka en GET-begäran till API_index_template. Om du till exempel vill se information om mall_2 använder du begäran:

GET _index_template / template_2

Kommandot cURL är:

curl -XGET "http: // localhost: 9200 / _index_template / template_2"

Detta kommando ska visa information om mall_2


"index_templates": [

"namn": "mall_2",
"index_template":
"index_mönster": [
"remp *",
"re*"
],
"mall" :
"inställningar" :
"index":
"number_of_shards": "2",
"number_of_replicas": "0"


,
"sammansatt av" : [ ],
"prioritet": 1,
"version": 1


]

Du kan också använda jokertecken för att få matchande mallar. Tänk till exempel på begäran nedan för att visa alla mallar i Elasticsearch.

GET _index_template / *

Kommandot cURL är.

curl -XGET http: // localhost: 9200 / _index_template / *

Detta kommando ska ge dig information om alla mallar i Elasticsearch


"index_templates": [

"name": "ilm-history",
"index_template":
"index_mönster": [
"ilm-history-3 *"
],
"mall" :
"inställningar" :
"index":
"format": "1",
"livscykel" :
"name": "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"dold": "sant",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"

,
"mappningar":
"dynamisk": falsk,
"egenskaper" :
"index_age":
"typ": "lång"
,
"@tidsstämpel" :
"format": "epoch_millis",
"type": "date"
,
"detaljer om felet" :
"typ": "text"
,
"Framgång":
"type": "boolean"
,
"index":
"type": "sökord"
,
"stat" :
"dynamisk": sant,
"typ": "objekt",
--------------------------UTGÅNG TRUNKERAD-----------------------------------

Hur man tar bort mallar

Att radera en mall är lika enkelt som GET-mallen men med DELETE-begäran som:

RADERA _index_mall / mall_2

Du kan använda kommandot cURL:

curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"

Detta kommando raderar automatiskt den angivna mallen.

Slutsats

Denna handledning behandlade vad Elasticsearch-indexmallar är, hur de fungerar och hur man skapar, visar och tar bort indexmallar. Denna grundläggande information ska hjälpa dig att komma igång med att använda Elasticsearch-indexmallar.

Hur man använder AutoKey för att automatisera Linux-spel
AutoKey är ett verktyg för desktopautomatisering för Linux och X11, programmerat i Python 3, GTK och Qt. Med hjälp av dess skript och MACRO-funktional...
Hur man visar FPS-räknare i Linux-spel
Linux-spel fick ett stort tryck när Valve tillkännagav Linux-stöd för Steam-klient och deras spel 2012. Sedan dess har många AAA- och indiespel tagit ...
Hur man laddar ner och spelar Sid Meier's Civilization VI på Linux
Introduktion till spelet Civilization 6 är ett modernt intag av det klassiska konceptet som introducerades i serien Age of Empires-spel. Idén var gans...