Selles kiires õpetuses vaatleme Elasticsearchi, täpsemalt seda, kuidas Elasticsearchi mootoris indekse luua. Ehkki te ei vaja selle õpetuse järgimiseks põhjalikke teadmisi ELK-i virna kohta, võib järgmiste teemade põhiteadmiste omamine olla kasulik:
- Terminali kasutades täpsemalt cURL
- Põhiteadmised API-dest ja JSON-ist
- HTTP-päringu esitamine
MÄRGE: Selles õpetuses eeldatakse ka, et teie süsteemis on Elasticsearch installitud ja töötab.
Mis on Elasticsearch indeksid?
Asju üle lihtsustamata ja üle keerustamata on Elasticsearchi indeks seotud JSON-i dokumentide kogu.
Nagu eelmises postituses mainitud, on Elasticsearchi indeksid JSON-objektid, mida peetakse Elasticsearchi salvestusseadme baasüksuseks. Need seotud JSON-dokumendid salvestatakse ühte üksusesse, mis moodustab indeksi. Mõelge Elasticsearchi dokumentidest kui tabelitest relatsioonide andmebaasis.
Seome Elasticsearchi indeksi andmebaasina SQL-maailmas.
- MySQL => andmebaasid => tabelid => veerud / read
- Elasticsearch => Indeksid => Tüübid => Atribuutidega JSON-dokumendid
Kuidas luua Elasticsearch Index
Elasticsearch kasutab oma teenuste avalikustamiseks võimsat ja intuitiivset REST API-d. See funktsioon võimaldab teil HTTP-päringuid kasutada klastri Elasticsearch toimingute tegemiseks. Seetõttu kasutame uue indeksi loomiseks index index API-d.
Selle juhendi jaoks kasutame taotluste saatmiseks cURL-i ning säilitame kõigi kasutajate terviklikkuse ja kasutatavuse. Siiski, kui teil esineb vigu cURL-iga, kaaluge Kibana Console'i kasutamist.
Elasticsearchi klastris uue indeksi loomise süntaks on järgmine:
PUT /Indeksi loomiseks peate ainult sisestama indeksi nime ilma muude parameetriteta, mis loob vaikesätete abil indeksi.
Samuti saate määratleda erinevad indeksi funktsioonid, näiteks registrikehas:
- Indeksi sätted
- Indeksi varjunimed
- Indeksiväljade vastendamine
Indeksi nimi on kohustuslik parameeter; muidu saate URIL-i (/) tõrke
curl -X PUT “localhost: 9200”"error": "Vale HTTP-meetod uri [/] ja meetodi [PUT] jaoks, lubatud: [DELETE, HEAD, GET]", "status": 405
Uue indeksi loomiseks nimega single_index edastame päringu:
PUT / single_indexCURLi jaoks kasutage käsku:
lokk -X PUT "kohalik host: 9200 / single_index?ilus "Selle käsu tulemuseks peaks olema HTTP olek 200 OK ja teade kinnitatud: true as:
“Tunnustatud”: tõsi,
"shards_acknowledged": tõsi,
"register": "single_index"
Ülaltoodud taotlus loob vaikeseadetega indeksi single_index, kuna me ei määranud ühtegi konfiguratsiooni.
Indeksi nimetamise reeglid
Elasticsearchi indeksite nimede loomisel peate järgima järgmisi nimestandardeid:
- Indeksi nimi peab olema ainult väikeste tähtedega.
- Indeksinimed ei saa alata kriipsu (-), alakriipsuga (_) ega liitumismärgiga (+)
- Nimed ei saa olla . või…
- Indeksinimed ei tohi sisaldada selliseid erimärke nagu: \, /, *, ?, ", <, >, |, "(tühikukujundus), ,, #
- Indeksinimede pikkus peab olema väiksem kui 255 baiti. Indeksinime kogupikkuses arvestatakse mitmebaidiseid tähemärke. Näiteks kui ühe tähemärgi pikkus on 8 baiti, on nime järelejäänud kogupikkus 255–8
- Elasticsearchi uusimas versioonis on nimed, mis algavad tähega . on reserveeritud peidetud indeksitele ja siseindeksitele, mida Elasticsearchi pistikprogrammid kasutavad.
Kuidas luua indekskeha
Indeksi loomiseks PUT-päringu kasutamisel saate edastada mitmesuguseid argumente, mis määratlevad loodava indeksi sätted. Kehas määratavate väärtuste hulka kuuluvad:
- Varjunimed: Määrab varjunimed nimele, mida soovite luua; see parameeter on valikuline.
- Seaded: See määratleb loodava indeksi konfiguratsioonivõimalused. Kui te parameetreid ei määra, luuakse register vaikekonfiguratsioonide abil.
- Kaardistused: See määratleb indeksi väljade kaardistamise. Kaardistustele lisatavad spetsifikatsioonid hõlmavad järgmist
- Välja nimi
- Andmetüüp
- Kaardistamise parameeter
Kehakonfiguratsioonidega indeksi loomise näite kohta võtke arvesse järgmist taotlust:
PUT / üksiku_indeks_kehaga"seaded":
"killude arv": 2,
"replikade arv": 2
,
„Kaardistused”:
"omadused":
"field1": "type": "object"
CURL-i samaväärse taotluse korral:
lokk -XPUT "http: // localhost: 9200 / single_index_with_body" -H 'Sisu tüüp: application / json' -d '"seaded": "number_of_shards": 2, "number_of_replicas": 2, "kaardistused" : "omadused": "väli1": "tüüp": "objekt" 'Ülaltoodud taotlus loob uue indeksi nimega single_index_with_body, millel on 2 tükki ja 2 koopiat. See loob ka kaardistuse nimevälja1 väljaga ja tippige JSON-objektina.
Pärast päringu saatmist saate vastuse, mille staatus on järgmine:
“Tunnustatud”: tõsi,
"shards_acknowledged": tõsi,
"register": "single_index_with_body"
„Tunnustatud” näitab, kas indeks on klastris edukalt loodud, samas kui „shards_acknowledged” näitab, kas nõutud arvu killukoopiaid alustati iga määratud indeksi kildude jaoks enne aegumist.
Kuidas vaadata Elasticsearchi indeksit
Loodud indeksi kohta teabe kuvamiseks kasutage indeksi loomisel sarnast taotlust, kuid PUT asemel kasutage HTTP-meetodit järgmiselt:
GET / single_index_with_bodyCURLi jaoks,
curl -XGET “http: // localhost: 9200 / single_index_with_body”See käsk annab teile üksikasjalikku teavet soovitud indeksi kohta järgmiselt:
"single_index_with_body":
"varjunimed": ,
"kaardistused":
"omadused":
"field1":
"tüüp": "objekt"
,
"seaded":
"register":
"marsruutimine":
"eraldamine":
"kaasama":
"_tier_preference": "data_content"
,
"number_of_shards": "2",
"sätestatud_nimi": "üks_indeks_kehaga",
"loomise_kuupäev": "1611045687208",
"replikade arv": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"versioon":
"loodud": "7100299"
Järeldus
Selles juhendis arutati, kuidas töötada Elasticsearchiga indeksite API loomiseks uute indeksite loomiseks. Arutasime ka seda, kuidas luua indeksitele ja konfiguratsiooniseadetele sobivad nimed.
Selle juhendi abil saate nüüd Elasticsearch API abil indekse luua ja vaadata.