Tento tutoriál vás prevedie vstupmi a výstupmi šablón indexu Elasticsearch, ktoré vám umožňujú definovať šablóny alebo plány pre bežné indexy. Napríklad ak neustále protokolováte údaje z externých zdrojov, môžete definovať podrobný plán pre všetky indexy protokolovania.
POZNÁMKA: Skôr ako začneme, je dobré si uvedomiť, že tutoriál sa zameriava na najnovšiu verziu Elasticsearch-7.8 v čase písania tohto článku - a môže sa líšiť od ostatných verzií. Tiež predpokladáme, že máte niekde spustený Elasticsearch v systéme.
Začnime pracovať s šablónami indexov Elasticsearch.
Čo je to šablóna indexu Elasticsearch?
Šablóna indexu Elasticsearch je metóda používaná na získanie pokynov pre Elasticsearch na konfiguráciu indexov po vytvorení. Napríklad šablóna indexu použitá v dátovom toku konfiguruje podporné indexy toku po vytvorení. Pred vytvorením indexu sa šablóna indexu vytvorí manuálne. Pri vytváraní indexu použije šablóna konfiguračné nastavenia indexu.
Najnovšia verzia aplikácie Elasticsearch má dva typy použiteľných šablón. Jedným z nich je indexová šablóna, a druhá je šablóny komponentov. Ako sme už vytvorili, šablóny indexov pomáhajú vytvárať indexy Elasticsearch.
Šablóny komponentov sú opakovane použiteľné moduly alebo bloky používané na konfiguráciu nastavení, mapovania a aliasov. Šablóny komponentov sa neaplikujú priamo na vytvorené indexy, ale môžu pomôcť pri vytváraní šablón indexov.
Niektoré predvolené šablóny indexov, ktoré používa Elasticsearch, zahŕňajú: metriky - * - *, protokoly - * - * .
Ako vytvoriť šablónu registra
Na vytváranie nových šablón indexov alebo na aktualizáciu existujúcich šablón používame rozhranie PUT template API. Pomocou koncového bodu _index_template môžeme poslať požiadavku HTTP na pridanie šablóny.
Všeobecná syntax pre vytvorenie šablóny je:
PUT _index_template / template_nameJe dobré poznamenať, že názov šablóny je povinný parameter. Zvážte žiadosť nižšie, ktorá vytvorí šablónu indexu ako template_1
PUT _index_template / template_1/ * Definujte vzor indexu * /
"index_patterns": ["te *"],
„priorita“: 1,
/ * Definujte nastavenia pre indexy * /
"template":
"nastavenie" :
"number_of_shards": 2
Pre používateľov cURL je príkaz:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Definujte vzor indexu * / "index_patterns": ["te *"], "priority": 1, / * Definujte nastavenie pre indexy * / "template": "settings": "number_of_shards": 2 'Elasticsearch používa vzor zástupných znakov na priradenie názvov indexov, kde sú použité šablóny. Zmena alebo aktualizácia šablóny indexu nemá vplyv na už vytvorené indexy, iba na tie, ktoré sa vytvoria po použití tejto šablóny.
Z vyššie uvedeného môžete svoje šablóny komentovať pomocou metódy komentovania v jazyku C. Môžete pridať ľubovoľné množstvo komentárov kamkoľvek do tela okrem otvoru zložených zátvoriek.
V tele šablóny indexu môžete zahrnúť rôzne definície, ako napríklad:
- Šablóna: Vlastnosť šablóny (objekt) definuje, ktorá šablóna sa má použiť; môže obsahovať aliasy, mapovania a nastavenia - to je voliteľný parameter.
- Zložený z: Táto vlastnosť definuje zoznam mien pre šablóny komponentov. Po definovaní sa šablóny komponentov zlúčia v poradí ich špecifikácií. To znamená, že posledná definovaná šablóna komponentu má najvyššiu prioritu.
- Priorita: Vlastnosť priority definuje prednosť šablóny indexu pri vytváraní indexu. Ak má ktorákoľvek priorita najvyššiu hodnotu, získa vyššiu prioritu v porovnaní s nižšími hodnotami. Hodnota priority sa nevyžaduje a je typu integer. 0 je predvolená hodnota pre nešpecifikované šablóny.
- Verzia: Parameter verzie určuje verziu šablóny indexu, ktorá pomáha pri správe šablón.
V tele šablóny indexu môžete zahrnúť ďalšie vlastnosti. Ak sa chcete dozvedieť viac, prečítajte si dokumentáciu.
https: // www.elastické.co / guide / en / elasticsearch / reference / 7.10 / indexové šablóny.html
Nižšie uvádzame príklad žiadosti o vytvorenie novej šablóny s verziou 1.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
„priorita“: 1,
"template":
"nastavenie" :
"number_of_shards": 2,
"number_of_replicas": 0
,
"verzia": 1.0
Nemôžete mať viac ako jednu šablónu indexu so zhodným vzorom a rovnakou prioritou. Preto zaistite priradenie rôznych priorít k zhodným šablónam vzorov.
Ako získať šablónu indexu
Ak chcete zobraziť informácie o šablóne indexu, pošlite žiadosť GET do rozhrania API _index_template. Napríklad na zobrazenie informácií o template_2 použite požiadavku:
ZÍSKAŤ _index_template / template_2Príkaz cURL je:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"Tento príkaz by mal zobraziť informácie o template_2
"index_templates": [
"name": "template_2",
"index_template":
"index_patterns": [
„remp *“,
„re *“
],
"template":
"nastavenie" :
"index":
"number_of_shards": "2",
"number_of_replicas": "0"
,
"zložený z" : [ ],
„priorita“: 1,
"verzia": 1
]
Môžete tiež použiť zástupné znaky na získanie zodpovedajúcich šablón. Zvážte napríklad nižšie uvedenú požiadavku na zobrazenie všetkých šablón v aplikácii Elasticsearch.
ZÍSKAŤ _index_template / *Príkaz cURL je.
curl -XGET http: // localhost: 9200 / _index_template / *Tento príkaz by vám mal poskytnúť informácie o všetkých šablónach v Elasticsearch
"index_templates": [
"name": "ilm-history",
"index_template":
"index_patterns": [
"ilm-history-3 *"
],
"template":
"nastavenie" :
"index":
"format": "1",
"životný cyklus" :
"name": "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"hidden": "true",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"
,
"mapping":
"dynamic": false,
"properties":
"index_age":
"type": "long"
,
"@časová značka" :
"format": "epoch_millis",
"type": "date"
,
"detaily chyby" :
"type": "text"
,
"úspech":
"type": "boolean"
,
"index":
"type": "kľúčové slovo"
,
"štát" :
„dynamický“: pravda,
"type": "objekt",
--------------------------VÝSTUP SPRACOVANÝ-----------------------------------
Ako odstrániť šablóny
Odstránenie šablóny je rovnako jednoduché ako šablóna GET, ale použitím požiadavky DELETE ako:
ODSTRÁNIŤ _index_template / template_2Môžete použiť príkaz cURL:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"Tento príkaz automaticky odstráni zadanú šablónu.
Záver
Tento výukový program sa venoval tomu, čo sú šablóny indexu Elasticsearch, ako fungujú a ako vytvárať, zobrazovať a odstraňovať šablóny indexov. Tieto základné informácie by vám mali pomôcť začať s používaním šablón indexov Elasticsearch.