Cum să creați indici Elasticsearch

How Create Elasticsearch Indices



Elasticsearch este o parte a popularului teanc ELK folosit pentru analiza jurnalelor și căutarea. Aplicațiile și sistemele înregistrează în mod constant date care pot fi foarte utile pentru depanarea și urmărirea problemelor. Folosind stiva ELK, aveți cele mai bune instrumente pentru a efectua aceste sarcini rapid și foarte ușor.

În acest tutorial rapid, ne vom uita la Elasticsearch, în special cum să creăm indici în motorul Elasticsearch. Deși nu aveți nevoie de cunoștințe cuprinzătoare despre stiva ELK pentru a urma acest tutorial, ar putea fi avantajos să înțelegeți de bază următoarele subiecte:







  • Folosind terminalul, în mod specific, cURL
  • Cunoștințe de bază despre API-uri și JSON
  • Efectuarea unei cereri HTTP

NOTĂ: Acest tutorial presupune, de asemenea, că aveți Elasticsearch instalat și care rulează pe sistemul dvs.



Ce sunt indicii Elasticsearch?

Fără simplificarea excesivă sau simplificarea excesivă a lucrurilor, un index Elasticsearch este o colecție de documente JSON asociate.



După cum sa menționat într-o postare anterioară, indicii Elasticsearch sunt obiecte JSON - considerate unitatea de bază de stocare în Elasticsearch. Aceste documente JSON aferente sunt stocate într-o singură unitate care alcătuiește un index. Gândiți-vă la documentele Elasticsearch ca la tabele dintr-o bază de date relațională.





Să raportăm un index Elasticsearch ca bază de date în lumea SQL.

  • MySQL => baze de date => tabele => coloane / rânduri
  • Elasticsearch => Indici => Tipuri => Documente JSON cu proprietăți

Cum se creează un index Elasticsearch

Elasticsearch folosește un API REST puternic și intuitiv pentru a-și expune serviciile. Această funcționalitate vă permite să utilizați cereri HTTP pentru a efectua operațiuni pe clusterul Elasticsearch. Prin urmare, vom folosi API-ul create index pentru a crea un nou index.



Pentru acest ghid, vom folosi cURL pentru a trimite cererile și pentru a păstra integritatea și utilizabilitatea tuturor utilizatorilor. Cu toate acestea, dacă întâmpinați erori cu cURL, luați în considerare utilizarea Kibana Console.

Sintaxa pentru crearea unui nou index în clusterul Elasticsearch este:

A PUNE /

Pentru a crea un index, nu trebuie decât să treceți numele indexului fără alți parametri, ceea ce creează un index folosind setările implicite.

De asemenea, puteți specifica diverse caracteristici ale indexului, cum ar fi în corpul indexului:

  • Setările pentru index
  • Aliasuri index
  • Mapări pentru câmpurile index

Numele indexului este un parametru obligatoriu; în caz contrar, veți primi o eroare pentru URIL (/)

curl -X PUT localhost: 9200
{'error': 'Metodă HTTP incorectă pentru uri [/] și metoda [PUT], permisă: [DELETE, HEAD, GET]', 'status': 405}

Pentru a crea un nou index cu numele single_index, trecem cererea:

PUT / single_index

Pentru cURL, utilizați comanda:

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

Această comandă ar trebui să aibă ca rezultat HTTP Status 200 OK și un mesaj cu confirmat: adevărat ca:

{
recunoscut: adevărat,
'shards_acknowledged': adevărat,
'index': 'single_index'
}

Solicitarea de mai sus creează un index single_index cu setări implicite, deoarece nu am specificat nicio configurație.

Reguli de denumire a indexului

Când creați nume pentru indicii Elasticsearch, trebuie să respectați următoarele standarde de denumire:

  1. Numele indexului trebuie să fie doar cu minuscule.
  2. Numele indexului nu poate începe cu o liniuță (-), o subliniere (_) sau un semn de adăugare (+)
  3. Numele nu pot fi. sau ..
  4. Numele indexului nu pot include caractere speciale precum: , /, *,?,,, |, '(Caracter spațial), ,, #
  5. Lungimea numelor indexului trebuie să fie mai mică de 255 octeți. Caracterele multi-octet vor fi luate în considerare în lungimea totală a numelui indexului. De exemplu, dacă un singur caracter are o lungime de 8 octeți, lungimea totală rămasă a numelui este de 255 - 8
  6. În cea mai recentă versiune a Elasticsearch, nume care încep cu un. sunt rezervate pentru indici ascunși și indici interni utilizați de pluginurile Elasticsearch.

Cum se creează un corp index

Când utilizați cererea PUT pentru a crea un index, puteți transmite diverse argumente care definesc setările pentru indexul pe care doriți să îl creați. Valorile pe care le puteți specifica în corp includ:

  • Aliasuri: Specifică numele de alias pentru indexul pe care doriți să îl creați; acest parametru este opțional.
  • Setări: Aceasta definește opțiunile de configurare pentru indexul pe care doriți să îl creați. Dacă nu specificați niciun parametru, indexul este creat folosind configurațiile implicite.
  • Mapări: Aceasta definește maparea câmpurilor din index. Specificațiile pe care le puteți include în mapări includ:
    • Numele câmpului
    • Tipul de date
    • Parametrul de mapare

Pentru un exemplu de creare a unui index cu configurații de corp, luați în considerare solicitarea de mai jos:

PUT / single_index_with_body
{
„setări”: {
'number_of_shards': 2,
'number_of_replicas': 2
},
mapări: {
„proprietăți”: {
'field1': {'type': 'object'}
}
}
}

Pentru o cerere echivalentă cURL:

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

Cererea de mai sus creează un nou index cu numele single_index_with_body cu 2 numere de cioburi și 2 replici. De asemenea, creează o mapare cu un câmp de nume câmp1 și tastați ca obiect JSON.

După ce trimiteți solicitarea, veți primi un răspuns cu starea cererii ca:

{
recunoscut: adevărat,
'shards_acknowledged': adevărat,
'index': 'single_index_with_body'
}

Confirmat arată dacă indexul a fost creat cu succes în cluster, în timp ce shards_acknowledged arată dacă numărul necesar de copii de fragment a fost pornit pentru fiecare fragment din indexul specificat înainte de expirare.

Cum să vizualizați indexul Elasticsearch

Pentru a vizualiza informațiile despre indexul pe care l-ați creat, utilizați o cerere similară cu cea a creării unui index, dar utilizați metoda HTTP în loc de PUT ca:

GET / single_index_with_body

Pentru cURL,

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

Această comandă vă va oferi informații detaliate despre indexul solicitat ca:

{
'single_index_with_body': {
„pseudonime”: {},
„mapări”: {
„proprietăți”: {
„câmpul1”: {
'tip': 'obiect'
}
}
},
„setări”: {
„index”: {
„rutare”: {
'alocare' : {
'include' : {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'provided_name': 'single_index_with_body',
'creation_date': '1611045687208',
'number_of_replicas': '2',
„uuid”: „3TRkO7xmQcSUOOGtb6pXVA”,
„versiune”: {
'creat': '7100299'
}
}
}
}
}

Concluzie

Acest ghid a discutat despre cum să lucrați cu Elasticsearch pentru a crea API-ul indexului pentru a crea noi indici. De asemenea, am discutat despre cum să creăm nume adecvate pentru indici și setări de configurare.

Utilizând acest ghid, puteți crea și vizualiza indici utilizând API-ul Elasticsearch.