Ovaj vodič će vas provesti kroz detalje i predloške indeksa Elasticsearch koji vam omogućuju definiranje predložaka ili nacrta za uobičajene indekse. Na primjer, ako neprestano bilježite podatke iz vanjskih izvora, možete definirati nacrt za sve indekse bilježenja.
BILJEŠKA: Prije nego što započnemo, dobro je napomenuti da se vodič usredotočio na najnoviju verziju Elasticsearch-7.8 u vrijeme pisanja ovog dokumenta - a može se razlikovati od ostalih verzija. Također pretpostavljamo da Elasticsearch negdje pokrećete na sustavu.
Krenimo s radom s predlošcima indeksa Elasticsearch.
Što je predložak indeksa Elasticsearch?
Predložak indeksa Elasticsearch metoda je koja se Elasticsearchu daje za namještanje indeksa pri kreiranju. Na primjer, predložak indeksa koji se koristi u toku podataka konfigurira sigurnosne indekse toka nakon stvaranja. Predložak indeksa kreira se ručno prije stvaranja indeksa. Prilikom izrade indeksa predložak primjenjuje konfiguracijske postavke za indeks.
Najnovija verzija Elasticsearch ima dvije vrste korisnih predložaka. Jedno je predložak indeksa, a druga je predlošci komponenata. Kao što smo već utvrdili, predlošci indeksa pomažu u stvaranju indeksa Elasticsearch.
Predlošci komponenata su moduli ili blokovi za višekratnu upotrebu koji se koriste za konfiguriranje postavki, mapiranja i aliasa. Predlošci komponenata ne primjenjuju se izravno na stvorene indekse, ali mogu pomoći u stvaranju predložaka indeksa.
Neki zadani predlošci indeksa koje koristi Elasticsearch uključuju: mjerne podatke - * - *, zapisnike - * - * .
Kako stvoriti predložak indeksa
Da bismo stvorili nove predloške indeksa ili ažurirali postojeće, koristimo API predloška PUT. Koristeći krajnju točku _index_template, možemo poslati HTTP zahtjev za dodavanje predloška.
Opća sintaksa za izradu predloška je:
STAVITE _index_template / naziv_imenaDobro je napomenuti da je naziv predloška obvezan parametar. Razmotrite donji zahtjev koji stvara predložak indeksa kao template_1
STAVITE _index_template / template_1/ * Definirajte uzorak indeksa * /
"index_patterns": ["te *"],
"prioritet": 1,
/ * Definirajte postavke za indekse * /
"predložak":
"postavke":
"number_of_shards": 2
Za korisnike curl naredba je:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Content-Type: application / json' -d '/ * Definirajte obrazac indeksa * / "index_patterns": ["te *"], "priority": 1, / * Definirajte postavke za indekse * / "template": "settings": "number_of_shards": 2 'Elasticsearch koristi zamjenski obrazac za podudaranje imena indeksa na kojima se primjenjuju predlošci. Promjena ili ažuriranje predloška indeksa ne utječe na već stvorene indekse samo one koji će se stvoriti nakon upotrebe tog predloška.
Odozgo, možete komentirati svoje predloške pomoću metode komentiranja na C-jeziku. Možete dodati koliko god želite komentara, bilo gdje u tijelu, osim otvora kovrčavih zagrada.
U tijelo predloška indeksa možete uključiti razne definicije kao što su:
- Predložak: Svojstvo predloška (objekt) definira koji će se predložak primijeniti; može uključivati pseudonime, preslikavanja i postavke - ovo je neobavezni parametar.
- Sastavljeno od: Ovo svojstvo definira popis imena za predloške komponenata. Jednom definirani, predlošci komponenata postaju složeni prema njihovom redoslijedu specifikacija. To znači da zadnji definirani predložak komponente ima najveći prioritet.
- Prioritet: Svojstvo prioriteta definira prioritet predloška indeksa pri stvaranju indeksa. Ako bilo koji prioritet ima najveću vrijednost, dobiva veći prioritet u odnosu na niže vrijednosti. Vrijednost prioriteta nije potrebna i tipa je cijelog broja. 0 je zadana vrijednost za nespecificirane predloške.
- Verzija: Parametar verzije navodi verziju predloška indeksa, što pomaže u upravljanju predlošcima.
Postoje i druga svojstva koja možete uključiti u tijelo predloška indeksa. Razmotrite dokumentaciju da biste saznali više.
https: // www.elastičan.co / guide / en / elasticsearch / reference / 7.10 / predlošci indeksa.html
Ispod je primjer zahtjeva za stvaranjem novog predloška s verzijom 1.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
"prioritet": 1,
"predložak":
"postavke":
"number_of_shards": 2,
"number_of_replicas": 0
,
"inačica": 1.0
Ne možete imati više od jednog predloška indeksa s podudarnim uzorkom i istim prioritetom. Stoga osigurajte da dodijelite različite prioritete kako bi se podudarali s predlošcima uzoraka.
Kako dobiti predložak indeksa
Da biste pogledali informacije o predlošku indeksa, pošaljite GET zahtjev API-ju _index_template. Na primjer, za prikaz podataka o predlošku_2 upotrijebite zahtjev:
GET _index_template / template_2Naredba cURL je:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"Ova naredba treba prikazati informacije o predlošku_2
"index_templates": [
"name": "predložak_2",
"index_template":
"uzorci_indeksa": [
"pojačati *",
"ponovno*"
],
"predložak":
"postavke":
"indeks":
"number_of_shards": "2",
"number_of_replicas": "0"
,
"sastavljeno od" : [ ],
"prioritet": 1,
"inačica": 1
]
Također možete koristiti zamjenske znakove da biste dobili odgovarajuće predloške. Na primjer, razmotrite zahtjev u nastavku da biste pregledali sve predloške u Elasticsearchu.
GET _index_template / *Naredba cURL je.
curl -XGET http: // localhost: 9200 / _index_template / *Ova naredba trebala bi vam pružiti informacije o svim predlošcima u Elasticsearchu
"index_templates": [
"name": "ilm-povijest",
"index_template":
"uzorci_indeksa": [
"ilm-povijest-3 *"
],
"predložak":
"postavke":
"indeks":
"format": "1",
"životni ciklus" :
"name": "ilm-povijest-ilm-politika",
"rollover_alias": "ilm-povijest-3"
,
"hidden": "true",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"
,
"preslikavanja":
"dinamički": netačno,
"Svojstva" :
"index_age":
"type": "dugo"
,
"@timestamp":
"format": "epoch_millis",
"type": "date"
,
"detalji o grešci" :
"type": "text"
,
"uspjeh":
"type": "boolean"
,
"indeks":
"type": "ključna riječ"
,
"država" :
"dinamičan": istina,
"type": "objekt",
--------------------------IZLAZNI ODREZ-----------------------------------
Kako izbrisati predloške
Brisanje predloška jednako je jednostavno kao i GET predložak, ali pomoću DELETE zahtjeva kao:
IZBRIŠI _index_template / template_2Možete koristiti naredbu cURL:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"Ova naredba automatski briše navedeni predložak.
Zaključak
Ovaj je vodič obuhvatio što su predlošci indeksa Elasticsearch, kako rade i kako stvoriti, pregledati i izbrisati predloške indeksa. Ove osnovne informacije trebale bi vam pomoći da započnete s upotrebom predložaka indeksa Elasticsearch.