Selles õpetuses tutvustatakse Elasticsearchi indeksimallide sisukaid külgi, mis võimaldavad teil määratleda tavaliste indeksite mallid või joonised. Näiteks kui logite pidevalt andmeid välistest allikatest, saate määratleda kõigi logimisindeksite kava.
MÄRGE: Enne alustamist on hea märkida, et õpetus keskendub Elasticsearch-7 uusimale versioonile.8 kirjutamise ajal - ja see võib teistest versioonidest erineda. Samuti eeldame, et teil töötab Elasticsearch kuskil süsteemis.
Alustame Elasticsearchi indeksimallidega töötamist.
Mis on Elasticsearchi indeksi mall?
Elasticsearchi indeksmall on meetod, mida kasutatakse Elasticsearchi juhendamisel loomisel indeksite konfigureerimiseks. Näiteks andmevoos kasutatav indeksmall konfigureerib loomisel voo tugiindeksid. Indeksimall luuakse enne registri loomist käsitsi. Indeksi loomisel rakendab mall indeksi konfiguratsiooniseadeid.
Elasticsearchi uusimal versioonil on kahte tüüpi kasutatavaid malle. Üks on indeksimall, ja teine on komponentide mallid. Nagu oleme juba kindlaks teinud, aitavad indeksimallid luua Elasticsearchi indekseid.
Komponendimallid on korduvkasutatavad moodulid või plokid, mida kasutatakse sätete, kaardistamise ja varjunimede konfigureerimiseks. Komponentmalle ei rakendata otse loodud indeksitele, kuid need võivad aidata luua indeksmalle.
Mõned Elasticsearchi kasutatavad vaikeindeksimallid on järgmised: mõõdikud - * - *, logid - * - * .
Indeksimalli loomine
Uute registrimallide loomiseks või olemasolevate värskendamiseks kasutame PUT malli API-d. Lõpp-punkti _index_template abil saame malli lisamiseks saata HTTP-päringu.
Malli loomise üldine süntaks on järgmine:
PUT _index_template / template_nameOn hea märkida, et malli nimi on kohustuslik parameeter. Mõelge allolevale taotlusele, mis loob indeksimalliks malli_1
PUT _index_template / template_1/ * Määrake registrimuster * /
"index_patterns": ["te *"],
"prioriteet": 1,
/ * Määrake indeksite seaded * /
"mall":
"seaded":
"killude arv": 2
CURL-i kasutajate jaoks on käsk järgmine:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Sisu tüüp: application / json' -d '/ * Määrake indeksimuster * / "index_patterns": ["te *"], "prioriteet": 1, / * Määrake indeksite * / "malli" seaded: "seaded": "arvude_arvude_arv": 2 'Elasticsearch kasutab metamärki, et sobitada indeksnimed, kus malle rakendatakse. Indeksimalli muutmine või värskendamine ei mõjuta juba loodud indekseid ainult neid, mis luuakse pärast selle malli kasutamist.
Ülevalt saate oma malle kommenteerida, kasutades C-keele kommenteerimismeetodit. Saate lisada nii palju kommentaare kui soovite, kõikjal kehas, välja arvatud lokkis trakside ava.
Indeksimalli kehasse saate lisada mitmesuguseid määratlusi, näiteks:
- Mall: Malli omadus (objekt) määratleb, millist malli kasutada; see võib sisaldada varjunimesid, vastendusi ja seadeid - see on valikuline parameeter.
- Koosneb: See omadus määratleb komponentmallide nimede loendi. Kui komponentide mallid on määratletud, liidetakse nende spetsifikatsioonide järjekord. See tähendab, et viimane määratletud komponendi mall on ülimuslik.
- Prioriteet: Prioriteetvara määratleb indeksi malli ülimuslikkuse indeksi loomisel. Kui mõnel ülimuslikkusel on kõrgeim väärtus, saab see madalama väärtusega võrreldes suurema ülimuslikkuse. Prioriteediväärtus pole kohustuslik ja selle tüüp on täisarv. 0 on määramata mallide vaikeväärtus.
- Versioon: Versiooniparameeter määrab registrimalli versiooni, mis aitab malle hallata.
Indeksimalli kehasse saate lisada ka muid omadusi. Lisateabe saamiseks kaaluge dokumentatsiooni.
https: // www.elastne.co / guide / et / elasticsearch / reference / 7.10 / register-mallid.HTML
Allpool on näide uue versiooni 1 loomise kohta.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
"prioriteet": 1,
"mall":
"seaded":
"killude arv": 2,
"replikade arv": 0
,
"versioon": 1.0
Teil ei saa olla rohkem kui ühte sobiva mustriga ja sama prioriteediga indeksimalli. Seega veenduge, et mustrimallide sobitamiseks määratakse erinevad prioriteedid.
Kuidas saada indeksimalli
Indeksimalli teabe vaatamiseks saatke GET-päring API-le _index_template. Näiteks malli_2 teabe vaatamiseks kasutage päringut:
GET _index_template / template_2Käsk cURL on:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"See käsk peaks kuvama teavet malli_2 kohta
"index_templates": [
"nimi": "mall_2",
"index_template":
"index_patterns": [
"remp *",
"re *"
],
"mall":
"seaded":
"register":
"number_of_shards": "2",
"replikade arv": "0"
,
"koosneb" : [ ],
"prioriteet": 1,
"versioon": 1
]
Sobivate mallide saamiseks võite kasutada ka metamärke. Mõelge näiteks allpool esitatud taotlusele, et vaadata kõiki Elasticsearchi malle.
GET _index_template / *Käsk cURL on.
curl -XGET http: // localhost: 9200 / _index_template / *See käsk peaks andma teile teavet kõigi Elasticsearchi mallide kohta
"index_templates": [
"nimi": "ilm-ajalugu",
"index_template":
"index_patterns": [
"ilm-ajalugu-3 *"
],
"mall":
"seaded":
"register":
"formaat": "1",
"eluring" :
"nimi": "ilm-ajalugu-ilm-poliitika",
"rollover_alias": "ilm-ajalugu-3"
,
"varjatud": "tõene",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"replikade arv": "0"
,
"kaardistused":
"dünaamiline": vale,
"omadused":
"index_age":
"tüüp": "pikk"
,
"@timestamp":
"format": "epoch_millis",
"tüüp": "kuupäev"
,
"veadetailid" :
"type": "text"
,
"edu":
"tüüp": "tõeväärtus"
,
"register":
"type": "keyword"
,
"osariik":
"dünaamiline": tõsi,
"tüüp": "objekt",
--------------------------VÄLJUND TÖÖTAB-----------------------------------
Mallide kustutamine
Malli kustutamine on sama lihtne kui mall GET, kuid päringu Kustuta kasutamine on järgmine:
KUSTUTA _index_template / template_2Võite kasutada käsku cURL:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"See käsk kustutab määratud malli automaatselt.
Järeldus
Selles õpetuses käsitleti, millised on Elasticsearchi indeksimallid, kuidas need töötavad ning kuidas luua, vaadata ja kustutada indeksimalle. See põhiteave peaks aitama teil alustada Elasticsearchi indeksimallide kasutamist.