Elasticsearch indeksite loomine

How Create Elasticsearch Indices



Elasticsearch on üks osa populaarsest ELK -stokist, mida kasutatakse logide analüüsimiseks ja otsimiseks. Rakendused ja süsteemid logivad pidevalt andmeid, mis võivad olla tõrkeotsingul ja probleemide jälgimisel väga kasulikud. Kasutades ELK -virna, on teil parimad tööriistad nende ülesannete kiireks ja väga lihtsaks täitmiseks.

Selles lühikeses õpetuses vaatleme Elasticsearchi, täpsemalt seda, kuidas luua indekseid Elasticsearchi mootoris. Kuigi te ei vaja selle õpetuse järgimiseks põhjalikke teadmisi ELK -pinu kohta, võib järgmiste teemade põhiteadmine olla kasulik:







  • Kasutades terminali, täpsemalt cURL
  • Põhiteadmised API -de ja JSON -i kohta
  • HTTP -päringu tegemine

MÄRGE: See õpetus eeldab ka seda, et teie arvutisse on Elasticsearch installitud ja käivitatud.



Mis on Elasticsearchi indeksid?

Elasticsearchi indeks on asju lihtsustamata või üleliia keeruliseks muutmata seotud JSON -dokumentide kogum.



Nagu eelmises postituses mainitud, on Elasticsearchi indeksid JSON -objektid, mida peetakse Elasticsearchi salvestusruumi põhiühikuks. Need seotud JSON -dokumendid salvestatakse ühte üksusesse, mis moodustab indeksi. Mõelge Elasticsearchi dokumentidele kui relatsiooniandmebaasi tabelitele.





Seostame Elasticsearchi indeksi andmebaasina SQL -maailmas.

  • MySQL => Andmebaasid => Tabelid => Veerud/read
  • Elasticsearch => Indeksid => Tüübid => Omadustega JSON -dokumendid

Elasticsearchi indeksi loomine

Elasticsearch kasutab oma teenuste tutvustamiseks võimsat ja intuitiivset REST API -d. See funktsioon võimaldab teil HTTP -päringuid kasutada Elasticsearchi klastri toimingute tegemiseks. Seetõttu kasutame uue indeksi loomiseks indeksi loomise API -d.



Selle juhendi jaoks kasutame päringute saatmiseks cURL -i ning säilitame kõigi kasutajate terviklikkuse ja kasutatavuse. Kui aga cURL -i kasutamisel ilmneb tõrkeid, kaaluge Kibana Console'i ​​kasutamist.

Elasticsearchi klastris uue indeksi loomise süntaks on järgmine:

PUT /

Indeksi loomiseks piisab, kui edastada indeksi nimi ilma muude parameetriteta, mis loob vaikeseadeid kasutades indeksi.

Samuti saate määrata indeksi erinevaid funktsioone, näiteks indeksi põhiosas.

  • Indeksi seaded
  • Indeksi varjunimed
  • Indeksiväljade vastendused

Indeksinimi on nõutav parameeter; vastasel juhul kuvatakse viga URIL -i jaoks (/)

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 taotluse:

PUT /single_index

CURL -i jaoks kasutage käsku:

curl -X PUT 'localhost: 9200/single_index? pretty'

Selle käsu tulemuseks peaks olema HTTP olek 200 OK ja sõnum kinnitusega: true kui:

{
tunnistas: tõsi,
'shards_acknowged': tõsi,
'index': '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 nimetamisstandardeid:

  1. Indeksi nimi peab olema ainult väiketähtedega.
  2. Indeksinimed ei saa alata kriipsuga (-), alajooniga (_) ega lisamärgiga (+)
  3. Nimed ei saa olla. või ..
  4. Indeksinimed ei tohi sisaldada selliseid erimärke nagu: , /, *,?,,, |, '' (Tühik), ,, #
  5. Indeksinimede pikkus peab olema väiksem kui 255 baiti. Mitmebaidised märgid arvestatakse registrinime kogupikkuses. Näiteks kui üks märk on 8 baiti pikk, on nime ülejäänud pikkus 255–8
  6. Elasticsearchi uusimas versioonis on a -ga algavad nimed. on reserveeritud peidetud indeksitele ja siseindeksitele, mida kasutavad Elasticsearchi pistikprogrammid.

Kuidas luua indeksi keha

Kui kasutate indeksi loomiseks PUT -päringut, saate edastada erinevaid argumente, mis määravad loodava indeksi seaded. Väärtused, mida saate kehas määrata, on järgmised:

  • Varjunimed: Määrab loodud indeksi varjunimed; see parameeter on valikuline.
  • Seaded: See määrab loodud indeksi konfiguratsioonivalikud. Kui te parameetreid ei määra, luuakse indeks vaikeseadistuste abil.
  • Kaardistused: See määratleb indeksi väljade kaardistamise. Kaardistustele lisatavad spetsifikatsioonid on järgmised:
    • Välja nimi
    • Andmetüüp
    • Kaardistamise parameeter

Kehakonfiguratsioonidega indeksi loomise näite puhul kaaluge järgmist taotlust:

PUT /üksikindeks_kehaga
{
'seaded': {
'raskete arv': 2,
'replica number': 2
},
kaardistused: {
'omadused': {
'field1': {'type': 'objekt'}
}
}
}

CURL -i samaväärse taotluse korral tehke järgmist.

curl -XPUT 'http: // localhost: 9200/single_index_with_body' -H 'Content -Type: application/json' -d '{' settings ': {' 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 kildude arvu ja 2 koopiat. Samuti loob see kaardistuse nimeväljaga1 ja sisestage see JSON -objektina.

Kui olete päringu saatnud, saate vastuse koos taotluse olekuga:

{
tunnistas: tõsi,
'shards_acknowged': tõsi,
'index': 'single_index_with_body'
}

Kinnitatud näitab, kas indeks on klastris edukalt loodud, samas kui shards_acknowled näitab, kas määratud ajavahemiku iga killu jaoks käivitati nõutav arv kildude koopiaid enne aegumist.

Kuidas vaadata Elasticsearchi indeksit

Teie loodud indeksi kohta teabe vaatamiseks kasutage sarnast taotlust indeksi loomisega, kuid kasutage PUT asemel HTTP -meetodit järgmiselt:

GET /single_index_with_body

CURL -i 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': {
'väli1': {
'type': 'objekt'
}
}
},
'seaded': {
'indeks': {
'marsruutimine': {
'eraldamine': {
'include': {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'nyújtott_nimi': 'single_index_with_body',
'creation_date': '1611045687208',
'number_of_replicas': '2',
'uuid': '3TRkO7xmQcSUOOGtb6pXVA',
'versioon': {
'loodud': '7100299'
}
}
}
}
}

Järeldus

Selles juhendis arutati, kuidas koostöös Elasticsearchiga luua indeksi API uute indeksite loomiseks. Samuti arutasime, kuidas luua indeksitele ja konfiguratsiooniseadetele sobivad nimed.

Selle juhendi abil saate nüüd indekseid luua ja vaadata, kasutades Elasticsearch API -d.