Kaip sukurti Elasticsearch indeksus

How Create Elasticsearch Indices



„Elasticsearch“ yra viena iš populiaraus ELK kamino, naudojamo žurnalų analizei ir paieškai, dalis. Programos ir sistemos nuolat registruoja duomenis, kurie gali būti labai naudingi šalinant ir stebint problemas. Naudodami ELK kaminą, turite geriausius įrankius šioms užduotims greitai ir labai lengvai atlikti.

Šioje trumpoje pamokoje apžvelgsime „Elasticsearch“, ypač tai, kaip sukurti indeksus „Elasticsearch“ variklyje. Nors jums nereikia jokių išsamių žinių apie ELK kaminą, kad galėtumėte vadovautis šia pamoka, gali būti naudinga turėti pagrindinį supratimą apie šias temas:







  • Naudojant terminalą, konkrečiai, cURL
  • Pagrindinės API ir JSON žinios
  • Pateikia HTTP užklausą

PASTABA: Šioje pamokoje taip pat daroma prielaida, kad jūsų sistemoje įdiegta ir veikia „Elasticsearch“.



Kas yra Elasticsearch indeksai?

„Elasticsearch“ indeksas, nepalengvindamas ir nepersunkdamas dalykų, yra susijusių JSON dokumentų rinkinys.



Kaip minėta ankstesniame įraše, „Elasticsearch“ indeksai yra JSON objektai, laikomi pagrindiniu „Elasticsearch“ saugojimo vienetu. Šie susiję JSON dokumentai saugomi viename indekse. Pagalvokite apie „Elasticsearch“ dokumentus kaip apie santykių duomenų bazės lenteles.





Susiekime „Elasticsearch“ indeksą kaip duomenų bazę SQL pasaulyje.

  • MySQL => Duomenų bazės => Lentelės => Stulpeliai/eilutės
  • Elasticsearch => Indeksai => Tipai => JSON dokumentai su ypatybėmis

Kaip sukurti Elasticsearch indeksą

„Elasticsearch“ savo paslaugoms atskleisti naudoja galingą ir intuityvią REST API. Ši funkcija leidžia naudoti HTTP užklausas operacijoms „Elasticsearch“ grupėje atlikti. Todėl, norėdami sukurti naują indeksą, naudosime kūrimo indekso API.



Šiame vadove mes naudosime cURL, kad išsiųstume užklausas ir išsaugotume visų vartotojų vientisumą ir patogumą. Tačiau jei su „CURL“ susiduriate su klaidomis, apsvarstykite galimybę naudoti „Kibana Console“.

Naujo indekso kūrimo sintaksė „Elasticsearch“ grupėje yra tokia:

PUT /

Norėdami sukurti indeksą, jums tereikia perduoti indekso pavadinimą be kitų parametrų, o tai sukuria indeksą pagal numatytuosius nustatymus.

Taip pat galite nurodyti įvairias indekso funkcijas, pvz., Rodyklės tekste:

  • Indekso nustatymai
  • Indekso slapyvardžiai
  • Rodyklės laukų susiejimas

Indekso pavadinimas yra būtinas parametras; priešingu atveju gausite klaidą dėl URIL (/)

curl -X PUT localhost: 9200
{'error': 'Neteisingas HTTP metodas uri [/] ir metodui [PUT], leidžiamas: [DELETE, HEAD, GET]', 'status': 405}

Norėdami sukurti naują indeksą pavadinimu single_index, perduodame užklausą:

PUT /single_index

CURL naudokite komandą:

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

Šios komandos rezultatas turėtų būti HTTP būsena 200 Gerai ir pranešimas su patvirtintu: tiesa kaip:

{
pripažino: tiesa,
'shards_acknowledged': tiesa,
'index': 'single_index'
}

Aukščiau pateikta užklausa sukuria indeksą single_index su numatytais nustatymais, nes nenurodėme jokių konfigūracijų.

Rodyklės pavadinimo taisyklės

Kurdami „Elasticsearch“ indeksų pavadinimus, turite laikytis šių pavadinimo standartų:

  1. Indekso pavadinimas turi būti rašomas tik mažosiomis raidėmis.
  2. Rodyklės pavadinimai negali prasidėti brūkšneliu (-), pabraukimu (_) arba papildymo ženklu (+)
  3. Pavadinimai negali būti. arba ..
  4. Rodyklės pavadinimuose negali būti specialiųjų simbolių, tokių kaip: , /, *,?,,, |, '' (Tarpo simbolis), ,, #
  5. Rodyklės pavadinimų ilgis turi būti mažesnis nei 255 baitai. Kelių baitų simboliai bus įskaičiuoti į visą indekso pavadinimo ilgį. Pavyzdžiui, jei vienas simbolis yra 8 baitų ilgio, visas likęs vardo ilgis yra 255–8
  6. Naujausioje „Elasticsearch“ versijoje pavadinimai, prasidedantys a. yra skirti paslėptiems indeksams ir vidiniams indeksams, kuriuos naudoja „Elasticsearch“ papildiniai.

Kaip sukurti indeksą

Naudodami PUT užklausą kurdami indeksą, galite pateikti įvairius argumentus, kurie apibrėžia norimo sukurti indekso nustatymus. Vertės, kurias galite nurodyti tekste, yra šios:

  • Pseudonimai: Nurodo norimo sukurti indekso slapyvardžius; šis parametras yra neprivalomas.
  • Nustatymai: Tai apibrėžia norimo sukurti indekso konfigūravimo parinktis. Jei nenurodysite jokių parametrų, indeksas bus sukurtas naudojant numatytas konfigūracijas.
  • Susiejimai: Tai apibrėžia indekso laukų susiejimą. Specifikacijos, kurias galite įtraukti į žemėlapius, yra šios:
    • Lauko pavadinimas
    • Duomenų tipas
    • Susiejimo parametras

Jei norite sukurti rodyklės su kūno konfigūracijomis pavyzdį, apsvarstykite toliau pateiktą užklausą:

PUT /single_index_with_body
{
'nustatymai': {
„kietųjų skaičius“: 2,
„Replikacijų skaičius“: 2
},
susiejimai: {
'ypatybės': {
'field1': {'type': 'objektas'}
}
}
}

CURL lygiavertei užklausai:

curl -XPUT 'http: // localhost: 9200/single_index_with_body' -H 'Turinio tipas: application/json' -d '{' settings ': {' number_of_shards ': 2,' number_of_replicas ': 2},' mappings ' : {'properties': {'field1': {'type': 'object'}}}} '

Aukščiau pateikta užklausa sukuria naują indeksą pavadinimu single_index_with_body su 2 skaičiais šukių ir 2 kopijomis. Taip pat sukuriamas susiejimas su vardo lauko 1 lauku ir įvedamas kaip JSON objektas.

Kai išsiųsite užklausą, gausite atsakymą su užklausos būsena:

{
pripažino: tiesa,
'shards_acknowledged': tiesa,
'index': 'single_index_with_body'
}

Patvirtinta rodo, ar indeksas buvo sėkmingai sukurtas grupėje, o shards_acknowled - rodo, ar prieš pasibaigiant nustatytam indeksui, buvo paleistas reikiamas visų fragmentų kopijų skaičius.

Kaip peržiūrėti „Elasticsearch“ indeksą

Norėdami peržiūrėti informaciją apie jūsų sukurtą indeksą, naudokite panašią užklausą, kaip kuriant indeksą, tačiau vietoj PUT naudokite HTTP metodą kaip:

GET /single_index_with_body

CURL,

curl -XGET http: // localhost: 9200/single_index_with_body

Ši komanda suteiks jums išsamią informaciją apie prašomą indeksą:

{
'single_index_with_body': {
„slapyvardžiai“: {},
'susiejimai': {
'ypatybės': {
'field1': {
'type': 'objektas'
}
}
},
'nustatymai': {
'indeksas' : {
'maršrutas': {
'paskirstymas': {
'include': {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'submitted_name': 'single_index_with_body',
'creation_date': '1611045687208',
'number_of_replicas': '2',
'uuid': '3TRkO7xmQcSUOOGtb6pXVA',
'versija': {
'sukurta': '7100299'
}
}
}
}
}

Išvada

Šiame vadove buvo aptarta, kaip dirbti su „Elasticsearch“ kuriant indekso API, kad būtų sukurti nauji indeksai. Taip pat aptarėme, kaip sukurti tinkamus indeksų ir konfigūracijos parametrų pavadinimus.

Naudodamiesi šiuo vadovu, dabar galite kurti ir peržiūrėti indeksus naudodami „Elasticsearch“ API.