Šioje instrukcijoje bus aprašytos „Elasticsearch“ indekso šablonų ypatybės, leidžiančios apibrėžti įprastų indeksų šablonus ar brėžinius. Pvz., Jei nuolat registruojate duomenis iš išorinių šaltinių, galite nustatyti visų registravimo indeksų projektą.
PASTABA: Prieš pradedant, gerai pažymėti, kad mokymo programoje daugiausia dėmesio skiriama naujausiai „Elasticsearch-7“ versijai.8 rašymo metu - jis gali skirtis nuo kitų versijų. Mes taip pat manome, kad kažkur sistemoje „Elasticsearch“ veikia.
Pradėkime dirbti su „Elasticsearch“ indekso šablonais.
Kas yra „Elasticsearch Index“ šablonas?
„Elasticsearch“ indekso šablonas yra metodas, naudojamas nurodant „Elasticsearch“ sukonfigūruoti indeksus. Pvz., Duomenų sraute naudojamas indekso šablonas sukūrus konfigūruoja srauto pagrindinius indeksus. Indekso šablonas sukuriamas rankiniu būdu prieš kuriant indeksą. Kuriant indeksą, šablonas taiko indekso konfigūracijos parametrus.
Naujausioje „Elasticsearch“ versijoje yra dviejų tipų tinkami naudoti šablonai. Vienas yra rodyklės šablonas, o kita yra komponentų šablonai. Kaip jau nustatėme, indeksų šablonai padeda sukurti „Elasticsearch“ indeksus.
Komponentiniai šablonai yra daugkartinio naudojimo moduliai arba blokai, naudojami konfigūruoti nustatymus, susiejimą ir slapyvardžius. Komponentiniai šablonai netaikomi tiesiogiai sukurtiems indeksams, tačiau gali padėti sukurti indeksų šablonus.
Kai kurie numatytieji indekso šablonai, kuriuos naudoja „Elasticsearch“, yra šie: metrika - * - *, žurnalai - * - * .
Kaip sukurti indekso šabloną
Norėdami sukurti naujus indekso šablonus arba atnaujinti esamus, naudojame PUT šablono API. Naudodami „_index_template“ pabaigos tašką galime išsiųsti HTTP užklausą pridėti šabloną.
Bendra šablono kūrimo sintaksė yra:
PUT _index_template / template_nameGerai pažymėti, kad šablono pavadinimas yra būtinas parametras. Apsvarstykite toliau pateiktą užklausą, kuri sukuria indekso šabloną kaip šabloną_1
PUT _index_template / template_1/ * Apibrėžkite indekso modelį * /
"index_patterns": ["te *"],
„prioritetas“: 1,
/ * Apibrėžkite indeksų nustatymus * /
„šablonas“:
„nustatymai“:
"Skardžių skaičius": 2
CURL vartotojams komanda yra:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Apibrėžkite indekso šabloną * / "index_patterns": ["te *"], "prioritetas": 1, / * Apibrėžkite indeksų * / "šablono" nustatymus: "nustatymai": "skaičiaus_skilčiai": 2 'Elasticsearch naudoja pakaitos šabloną, kad atitiktų indeksų pavadinimus, kur naudojami šablonai. Indekso šablono keitimas ar atnaujinimas neturi įtakos jau sukurtiems indeksams tik tiems, kurie bus sukurti naudojant tą šabloną.
Iš viršaus galite komentuoti savo šablonus naudodami C kalbos komentavimo metodą. Galite pridėti tiek komentarų, kiek norite, bet kurioje kūno vietoje, išskyrus garbanotų petnešų angą.
Į indekso šablono turinį galite įtraukti įvairius apibrėžimus, pvz .:
- Šablonas: Šablono ypatybė (objektas) apibrėžia, kurį šabloną reikia taikyti; tai gali būti slapyvardžiai, susiejimai ir nustatymai - tai pasirenkamas parametras.
- Susidedantis iš: Ši ypatybė apibrėžia komponentų šablonų pavadinimų sąrašą. Apibrėžus komponentų šablonus sudedama jų specifikacijų tvarka. Tai reiškia, kad paskutinis apibrėžtas komponento šablonas turi didžiausią pirmenybę.
- Prioritetas: Prioriteto ypatybė apibrėžia indekso šablono pirmenybę kuriant indeksą. Jei kuri nors pirmenybė turi didžiausią vertę, ji gauna didesnę pirmenybę, palyginti su mažesnėmis vertėmis. Prioriteto reikšmė nereikalinga ir yra sveiko skaičiaus. 0 yra numatytoji nenurodytų šablonų vertė.
- Versija: Versijos parametras nurodo indekso šablono versiją, kuri padeda valdyti šablonus.
Yra ir kitų ypatybių, kurias galite įtraukti į indekso šablono turinį. Apsvarstykite dokumentus, kad sužinotumėte daugiau.
https: // www.elastinga.co / guide / lt / elasticsearch / reference / 7.10 / index-templates.HTML
Toliau pateikiamas prašymo sukurti naują šabloną su 1 versija pavyzdys.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
„prioritetas“: 1,
„šablonas“:
„nustatymai“:
"Skardžių skaičius": 2,
"Rep_lic_s__support" skaičius: 0
,
„versija“: 1.0
Negalite turėti daugiau nei vieno indekso šablono su atitinkančiu šablonu ir tuo pačiu prioritetu. Taigi įsitikinkite, kad priskiriate skirtingus prioritetus, kad jie atitiktų šablonų šablonus.
Kaip gauti indekso šabloną
Norėdami peržiūrėti informaciją apie indekso šabloną, nusiųskite GET užklausą į _index_template API. Pavyzdžiui, norėdami peržiūrėti informaciją apie template_2, naudokite užklausą:
GAUTI _index_template / template_2CURL komanda yra:
garbanos -XGET "http: // localhost: 9200 / _index_template / template_2"Ši komanda turėtų rodyti informaciją apie template_2
"index_templates": [
"vardas": "šablonas_2",
"index_template":
"index_patterns": [
"remp *",
„re *“
],
„šablonas“:
„nustatymai“:
"indeksas" :
"sh_s__skaičius": "2",
"replikų skaičius": "0"
,
"susidedantis iš" : [ ],
„prioritetas“: 1,
„versija“: 1
]
Taip pat galite naudoti pakaitos simbolius, kad gautumėte atitinkamus šablonus. Pvz., Apsvarstykite toliau pateiktą užklausą, kad galėtumėte peržiūrėti visus „Elasticsearch“ šablonus.
GAUTI _index_template / *CURL komanda yra.
garbanos -XGET http: // localhost: 9200 / _index_template / *Ši komanda turėtų suteikti jums informacijos apie visus „Elasticsearch“ šablonus
"index_templates": [
"vardas": "ilm-istorija",
"index_template":
"index_patterns": [
"ilm-history-3 *"
],
„šablonas“:
„nustatymai“:
"indeksas" :
"formatas": "1",
"gyvenimo ciklas" :
"pavadinimas": "ilm-istorija-ilm-politika",
"rollover_alias": "ilm-history-3"
,
"paslėpta": "tiesa",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"replikų skaičius": "0"
,
„susiejimai“:
„dinamiškas“: klaidingas,
„savybės“:
"index_age":
„type“: „long“
,
„@timestamp“:
"format": "epoch_millis",
"type": "date"
,
"Klaidos detalės" :
"type": "text"
,
"sėkmė":
"type": "loginis"
,
"indeksas" :
"type": "keyword"
,
„valstija“:
„dinamiškas“: tiesa,
"type": "object",
--------------------------IŠVESTIS VEIKIA-----------------------------------
Kaip ištrinti šablonus
Šablono ištrynimas yra toks pat paprastas kaip GET šablonas, tačiau naudojant DELETE užklausą kaip:
DELETE _index_template / template_2Galite naudoti komandą cURL:
garbanoti -XDELETE "http: // localhost: 9200 / _index_template / template_2"Ši komanda automatiškai pašalina nurodytą šabloną.
Išvada
Šioje pamokoje aptarti, kokie yra „Elasticsearch“ indekso šablonai, kaip jie veikia ir kaip sukurti, peržiūrėti ir ištrinti indekso šablonus. Ši pagrindinė informacija turėtų padėti pradėti naudoti „Elasticsearch“ indekso šablonus.