Ta vadnica vas bo vodila skozi podrobnosti predloge indeksov Elasticsearch, ki vam omogočajo, da določite predloge ali načrte za pogoste indekse. Če na primer stalno beležite podatke iz zunanjih virov, lahko določite načrt za vse indekse beleženja.
OPOMBA: Preden začnemo, je dobro opozoriti, da se vadnica osredotoča na najnovejšo različico Elasticsearch-7.8 v času pisanja - in se lahko razlikuje od drugih različic. Predvidevamo tudi, da imate Elasticsearch nekje v sistemu.
Začnimo z delom s predlogami indeksa Elasticsearch.
Kaj je predloga indeksa Elasticsearch?
Predloga indeksa Elasticsearch je metoda, ki se Elasticsearchu naroči, naj konfigurira indekse ob ustvarjanju. Na primer, predloga indeksa, uporabljena v podatkovnem toku, konfigurira varnostne indekse toka ob ustvarjanju. Pred izdelavo indeksa se predloga indeksa ustvari ročno. Pri izdelavi indeksa predloga uporabi konfiguracijske nastavitve za indeks.
Najnovejša različica Elasticsearch ima dve vrsti uporabnih predlog. Eno je indeksna predloga, drugi pa je predloge komponent. Kot smo že ugotovili, predloge indeksov pomagajo ustvarjati indekse Elasticsearch.
Predloge komponent so moduli ali bloki za večkratno uporabo, ki se uporabljajo za konfiguriranje nastavitev, preslikave in vzdevkov. Predloge komponent se ne uporabijo neposredno za ustvarjene indekse, lahko pa pomagajo ustvariti predloge indeksov.
Nekatere privzete predloge indeksov, ki jih uporablja Elasticsearch, vključujejo: metrike - * - *, dnevnike - * - * .
Kako ustvariti indeksno predlogo
Če želimo ustvariti nove predloge indeksov ali posodobiti obstoječe, uporabimo API predloge PUT. Z uporabo končne točke _index_template lahko pošljemo zahtevo HTTP za dodajanje predloge.
Splošna sintaksa za ustvarjanje predloge je:
PUT _index_template / ime_predlogeDobro je vedeti, da je ime predloge obvezen parameter. Spodnjo zahtevo, ki ustvari predlogo indeksa, upoštevajte kot predlogo_1
PUT _index_template / template_1/ * Določite vzorec indeksa * /
"index_patterns": ["te *"],
"prednost": 1,
/ * Določite nastavitve za indekse * /
"predloga":
"nastavitve":
"number_of_shards": 2
Za uporabnike cURL je ukaz:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Določite vzorec indeksa * / "index_patterns": ["te *"], "priority": 1, / * Določite nastavitve za indekse * / "template": "settings": "number_of_shards": 2 'Elasticsearch uporablja nadomestni vzorec za ujemanje imen indeksov, kjer so uporabljene predloge. Spreminjanje ali posodabljanje predloge indeksa ne vpliva na že ustvarjene indekse, temveč samo na tiste, ki bodo ustvarjeni po uporabi te predloge.
Od zgoraj lahko predloge komentirate z metodo komentiranja v jeziku C. Komentarjev lahko dodate poljubno, kjer koli v telesu, razen odprtine kodrastih oklepajev.
V telo predloge indeksa lahko vključite različne definicije, kot so:
- Predloga: Lastnost predloge (objekt) določa, katero predlogo je treba uporabiti; lahko vključuje vzdevke, preslikave in nastavitve - to je neobvezen parameter.
- Sestavljen iz: Ta lastnost definira seznam imen za predloge komponent. Ko so predloge komponent definirane, se sestavijo v vrstnem redu specifikacij. To pomeni, da ima zadnja definirana predloga komponente najvišjo prednost.
- Prednost: Lastnost prioritet definira prednost predloge indeksa pri ustvarjanju indeksa. Če ima katera koli prednost največjo vrednost, ima večjo prednost v primerjavi z nižjimi vrednostmi. Vrednost prioritete ni potrebna in ima celo število. 0 je privzeta vrednost za nenavedene predloge.
- Različica: Parameter različice določa različico predloge indeksa, ki pomaga upravljati predloge.
V telo predloge indeksa lahko vključite še druge lastnosti. Če želite izvedeti več, si oglejte dokumentacijo.
https: // www.elastična.co / guide / en / elasticsearch / reference / 7.10 / predloge indeksa.html
Spodaj je primer zahteve za ustvarjanje nove predloge z različico 1.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
"prednost": 1,
"predloga":
"nastavitve":
"number_of_shards": 2,
"number_of_replicas": 0
,
"različica": 1.0
Ne morete imeti več kot eno predlogo indeksa z ujemajočim se vzorcem in enako prednostjo. Zato zagotovite, da se različnim prednostnim nalogam dodelijo predloge vzorcev.
Kako do predloge za indeks
Če si želite ogledati informacije o predlogi indeksa, pošljite zahtevo GET API-ju _index_template. Če si želite na primer ogledati informacije o predlogi_2, uporabite zahtevo:
GET _index_template / template_2Ukaz cURL je:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"Ta ukaz mora prikazati informacije o predlogi_2
"index_templates": [
"name": "template_2",
"index_template":
"vzorci_indeksa": [
"remp *",
"ponovno *"
],
"predloga":
"nastavitve":
"indeks":
"number_of_shards": "2",
"number_of_replicas": "0"
,
"sestavljen iz" : [ ],
"prednost": 1,
"različica": 1
]
Nadomestne znake lahko uporabite tudi za pridobivanje ujemajočih se predlog. Na primer, upoštevajte spodnjo zahtevo za ogled vseh predlog v Elasticsearch.
GET _index_template / *Ukaz cURL je.
curl -XGET http: // localhost: 9200 / _index_template / *Ta ukaz vam mora dati informacije o vseh predlogah v programu Elasticsearch
"index_templates": [
"name": "zgodovina ilm",
"index_template":
"vzorci_indeksa": [
"ilm-history-3 *"
],
"predloga":
"nastavitve":
"indeks":
"format": "1",
"življenski krog" :
"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"
,
"preslikave":
"dynamic": napačno,
"lastnosti":
"index_age":
"type": "long"
,
"@timestamp":
"format": "epoch_millis",
"type": "datum"
,
"error_details":
"type": "text"
,
"uspeh":
"type": "boolean"
,
"indeks":
"type": "ključna beseda"
,
"država" :
"dinamično": res,
"type": "objekt",
--------------------------IZHOD IZVEDEN-----------------------------------
Kako izbrisati predloge
Brisanje predloge je prav tako preprosto kot predloga GET, vendar z uporabo zahteve DELETE kot:
IZBRIŠI _index_template / template_2Uporabite lahko ukaz cURL:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"Ta ukaz samodejno izbriše določeno predlogo.
Zaključek
Ta vadnica je zajela, kaj so predloge indeksov Elasticsearch, kako delujejo in kako ustvariti, si ogledati in izbrisati predloge indeksov. Te osnovne informacije bi vam morale pomagati pri začetku uporabe indeksnih predlog Elasticsearch.