Ez az oktatóanyag bemutatja az Elasticsearch index sablonjainak csínját-bínját, amelyek segítségével sablonokat vagy tervrajzokat határozhat meg a közös indexekhez. Például, ha folyamatosan külső forrásokból naplóz adatokat, akkor az összes naplózási indexhez definiálhat egy tervet.
JEGYZET: Mielőtt elkezdenénk, jó megjegyezni, hogy az oktatóanyag az Elasticsearch-7 legújabb verziójára összpontosít.8 az írás idején - és eltérhet a többi verziótól. Feltételezzük azt is, hogy valahol egy rendszeren fut az Elasticsearch.
Kezdjük el dolgozni az Elasticsearch index sablonokkal.
Mi az az Elasticsearch Index sablon?
Az Elasticsearch indexsablon az a módszer, amely arra utasítja az Elasticsearch-t, hogy a létrehozáskor konfigurálja az indexeket. Például egy adatfolyamon használt indexsablon a létrehozáskor konfigurálja az adatfolyam háttérindexeit. Az indexsablon manuálisan jön létre az index létrehozása előtt. Index létrehozásakor a sablon alkalmazza az index konfigurációs beállításait.
Az Elasticsearch legújabb verziójának kétféle használható sablonja van. Az egyik a index sablon, a másik pedig komponens sablonok. Mint már megállapítottuk, az indexsablonok segítenek az Elasticsearch indexek létrehozásában.
Az összetevő sablonok újrafelhasználható modulok vagy blokkok, amelyeket a beállítások, a leképezés és az álnevek konfigurálásához használnak. Az összetevő sablonokat nem alkalmazzák közvetlenül a létrehozott indexekre, de segíthetnek index sablonok létrehozásában.
Az Elasticsearch által használt néhány alapértelmezett indexsablon a következőket tartalmazza: metrika - * - *, naplók - * - * .
Indexsablon létrehozása
Új indexsablonok létrehozásához vagy a meglévők frissítéséhez a PUT template API-t használjuk. Az _index_template végpont használatával HTTP-kérést küldhetünk egy sablon hozzáadásához.
A sablon létrehozásának általános szintaxisa:
PUT _index_template / template_nameJó megjegyezni, hogy a sablon neve kötelező paraméter. Tekintsük az alábbi kérést, amely index sablont hoz létre sablonként_1
PUT _index_template / template_1/ * Adja meg az indexmintát * /
"index_patterns": ["te *"],
"elsőbbség": 1,
/ * Adja meg az indexek beállításait * /
"sablon":
"beállítások" :
"szilánkok száma": 2
A CURL felhasználók számára a parancs a következő:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Definiálja az indexmintát * / "index_patterns": ["te *"], "prioritás": 1, / * Definiálja az indexek beállításait * / "sablon": "beállítások": "_szelvény_száma ": 2 'Az Elasticsearch helyettesítőmintát használ az indexnevek egyeztetésére, ahol a sablonokat alkalmazzák. Az indexsablon módosítása vagy frissítése nem érinti a már létrehozott indexeket, csak azokat, amelyek az adott sablon használata után jönnek létre.
Fentről a C-nyelvű kommentálási módszerrel kommentelheti sablonjait. Hozzáadhat annyi megjegyzést, amennyit csak akar, bárhol a testben, kivéve a göndör zárójelek nyílását.
Az indexsablon törzsében különböző definíciókat vehet fel, például:
- Sablon: A sablon tulajdonság (objektum) meghatározza az alkalmazandó sablont; tartalmazhat álneveket, leképezéseket és beállításokat - ez egy opcionális paraméter.
- Összeállítva: Ez a tulajdonság meghatározza az összetevő sablonok neveinek listáját. A definiálás után az összetevő sablonok a specifikációs sorrendbe kerülnek. Ez azt jelenti, hogy a legutoljára definiált komponenssablon élvez elsőbbséget.
- Kiemelten fontos: A prioritás tulajdonság meghatározza az indexsablon elsőbbségét index létrehozásakor. Ha valamelyik elsőbbségnek van a legmagasabb értéke, akkor az elsőbbséget élvez az alacsonyabb értékekhez képest. A prioritás értéke nem kötelező, és egész típusú. A 0 a nem megadott sablonok alapértelmezett értéke.
- Változat: A version paraméter meghatározza az index sablon verzióját, amely segít a sablonok kezelésében.
Az indexsablon törzsében más tulajdonságok is szerepelhetnek. Fontolja meg a dokumentációt, hogy többet tudjon meg.
https: // www.rugalmas.co / guide / hu / elasticsearch / reference / 7.10 / index-sablonok.html
Az alábbiakban bemutatunk egy példát egy új sablon létrehozására az 1. verzióval.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
"elsőbbség": 1,
"sablon":
"beállítások" :
"szilánkok száma": 2,
"Replikák száma": 0
,
"verzió": 1.0
Nem lehet egynél több index sablon, amely megfelelõ mintával és azonos prioritással rendelkezik. Ezért bizonyosodjon meg arról, hogy különféle prioritásokat rendel hozzá a mintasablonokhoz.
Az Index sablon beszerzése
Az indexsablon információinak megtekintéséhez küldjön egy GET-kérést a _index_template API-nak. Például a sablon_2 információinak megtekintéséhez használja a kérést:
GET _index_template / template_2A cURL parancs:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"Ennek a parancsnak meg kell jelenítenie a sablon_2 adatait
"index_templates": [
"név": "sablon_2",
"index_template":
"index_patterns": [
"remp *",
"újra*"
],
"sablon" :
"beállítások" :
"index":
"__szeletek_száma ":" 2 ",
"Replikák száma": "0"
,
"összeállítva": [],
"elsőbbség": 1,
"verzió": 1
]
Helyettesítő karakterekkel is megkaphatja a megfelelő sablonokat. Fontolja meg például az alábbi kérést az Elasticsearch összes sablonjának megtekintéséhez.
GET _index_template / *A cURL parancs az.
curl -XGET http: // localhost: 9200 / _index_template / *Ez a parancs tájékoztatást nyújt az Elasticsearch összes sablonjáról
"index_templates": [
"name": "ilm-history",
"index_template":
"index_patterns": [
"ilm-history-3 *"
],
"sablon" :
"beállítások" :
"index":
"format": "1",
"életciklus" :
"name": "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"rejtett": "igaz",
"sh_s__szam": "1",
"auto_expand_replicas": "0-1",
"Replikák száma": "0"
,
"leképezések":
"dinamikus": hamis,
"tulajdonságok":
"index_age":
"type": "long"
,
"@időbélyeg" :
"format": "epoch_millis",
"type": "date"
,
"hiba részletei" :
"type": "text"
,
"siker":
"type": "logikai"
,
"index":
"type": "keyword"
,
"állapot" :
"dinamikus": igaz,
"type": "object",
--------------------------KIMENET MŰKÖDIK-----------------------------------
Hogyan lehet törölni a sablonokat
A sablon törlése ugyanolyan egyszerű, mint a GET sablon, de a DELETE kérés használata:
DELETE _index_template / template_2Használhatja a cURL parancsot:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"Ez a parancs automatikusan törli a megadott sablont.
Következtetés
Ez az oktatóanyag bemutatta az Elasticsearch index sablonjait, azok működését, valamint az indexsablonok létrehozását, megtekintését és törlését. Ez az alapvető információ segíthet az Elasticsearch indexsablonok használatának megkezdésében.