Elasticsearch indexek létrehozása

How Create Elasticsearch Indices



Az Elasticsearch egy része a népszerű ELK veremnek, amelyet naplóelemzéshez és kereséshez használnak. Az alkalmazások és rendszerek folyamatosan naplóznak adatokat, amelyek nagyon hasznosak lehetnek a problémák elhárításában és nyomon követésében. Az ELK verem használatával a legjobb eszközökkel rendelkezik ezeknek a feladatoknak a gyors és egyszerű elvégzésére.

Ebben a gyors bemutatóban az Elasticsearch -ot fogjuk megvizsgálni, különösen azt, hogyan lehet indexeket létrehozni az Elasticsearch motorban. Noha nincs szüksége átfogó ismeretekre az ELK veremről az oktatóanyag követéséhez, előnyös lehet az alábbi témák alapvető ismerete:







  • A terminál használatával, különösen a cURL
  • Alapszintű ismeretek az API -król és a JSON -ról
  • HTTP kérés készítése

JEGYZET: Ez az oktatóanyag azt is feltételezi, hogy az Elasticsearch telepítve van és fut a rendszeren.



Mik azok az Elasticsearch indexek?

A túlzott leegyszerűsítés vagy túlbonyolítás nélkül az Elasticsearch index a kapcsolódó JSON dokumentumok gyűjteménye.



Amint azt egy korábbi bejegyzésben említettük, az Elasticsearch indexek JSON objektumok - az Elasticsearch tárolási alapegységének tekintik. Ezeket a kapcsolódó JSON dokumentumokat egyetlen egységben tárolják, amely indexet alkot. Gondoljon az Elasticsearch dokumentumokra, mint egy relációs adatbázis tábláira.





Kapcsoljuk össze az Elasticsearch indexet adatbázisként az SQL világában.

  • MySQL => Adatbázisok => Táblázatok => Oszlopok/sorok
  • Elasticsearch => Indexek => Típusok => Tulajdonságokkal rendelkező JSON dokumentumok

Elasticsearch index létrehozása

Az Elasticsearch egy erőteljes és intuitív REST API -t használ szolgáltatásainak nyilvánosságra hozatalához. Ez a funkció lehetővé teszi, hogy HTTP kéréseket használjon műveletek végrehajtásához az Elasticsearch fürtön. Ezért az index létrehozása API -t fogjuk használni egy új index létrehozásához.



Ebben az útmutatóban a cURL használatával küldjük el a kéréseket, és megőrizzük az integritást és a használhatóságot minden felhasználó számára. Ha azonban hibákat tapasztal a cURL használatával, fontolja meg a Kibana Console használatát.

Az Elasticsearch -fürtben egy új index létrehozásának szintaxisa a következő:

PUT /

Az index létrehozásához mindössze annyit kell tennie, hogy átadja az index nevét más paraméterek nélkül, ami az indexet az alapértelmezett beállításokkal hozza létre.

Az index különböző jellemzőit is megadhatja, például az index törzsében:

  • Az index beállításai
  • Index álnevek
  • Az indexmezők leképezése

Az index neve kötelező paraméter; ellenkező esetben hibaüzenetet kap az URIL (/)

curl -X PUT localhost: 9200
{'error': 'Helytelen HTTP módszer az uri [/] és [PUT] metódushoz, megengedett: [DELETE, HEAD, GET]', 'status': 405}

Új index létrehozásához single_index néven adjuk át a kérést:

PUT /single_index

CURL esetén használja a következő parancsot:

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

Ennek a parancsnak a HTTP állapot 200 OK -t kell eredményeznie, és egy üzenetet a következő nyugtázással: true, mint:

{
elismert: igaz,
'shards_acknowledged': igaz,
'index': 'single_index'
}

A fenti kérés egy single_index indexet hoz létre alapértelmezett beállításokkal, mivel nem adtunk meg semmilyen konfigurációt.

Indexelési szabályok

Az Elasticsearch indexek nevének létrehozásakor be kell tartania a következő elnevezési szabványokat:

  1. Az index neve csak kisbetűvel írható.
  2. Az indexnevek nem kezdődhetnek kötőjellel (-), aláhúzással (_) vagy kiegészítéssel (+)
  3. A nevek nem lehetnek. vagy ..
  4. Az indexnevek nem tartalmazhatnak speciális karaktereket, például: , /, *,?,,, |, '' (Szóköz), ,, #
  5. Az indexnevek hosszának kevesebbnek kell lennie, mint 255 bájt. A többbájtos karakterek beleszámítanak az indexnév teljes hosszába. Például, ha egyetlen karakter 8 bájt hosszú, a név teljes hátralévő hossza 255-8
  6. Az Elasticsearch legújabb verziójában a. az Elasticsearch bővítmények által használt rejtett indexek és belső indexek számára vannak fenntartva.

Index törzs létrehozása

Amikor a PUT kérést használja index létrehozásához, különféle érveket adhat át, amelyek meghatározzák a létrehozni kívánt index beállításait. A törzsben megadható értékek a következők:

  • Álnevek: Megadja a létrehozni kívánt index álneveit; ez a paraméter nem kötelező.
  • Beállítások: Ez határozza meg a létrehozni kívánt index konfigurációs beállításait. Ha nem ad meg paramétereket, az index alapértelmezett konfigurációkkal jön létre.
  • Térképek: Ez határozza meg az index mezőinek leképezését. A leképezésekbe belefoglalható specifikációk a következők:
    • A mező neve
    • Az adattípus
    • A leképezési paraméter

Példaként index létrehozására törzskonfigurációkkal tekintse meg az alábbi kérést:

PUT /single_index_with_body
{
'beállítások': {
'kemények száma': 2,
'replikák száma': 2
},
leképezések: {
'tulajdonságok': {
'field1': {'type': 'objektum'}
}
}
}

CURL -ekvivalens kérelem esetén:

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'}}}} '

A fenti kérés új indexet hoz létre single_index_with_body névvel, 2 darab szilánkkal és 2 replikával. Ezenkívül létrehoz egy leképezést egy mező mezővel1, és JSON objektumként írja be.

Miután elküldte a kérelmet, választ kap a kérés állapotáról, amely a következő:

{
elismert: igaz,
'shards_acknowledged': igaz,
'index': 'single_index_with_body'
}

A nyugtázva azt mutatja, hogy az indexet sikeresen hozták -e létre a fürtben, míg a shards_acknowledged azt mutatja, hogy a megadott számú index minden egyes töredékéhez szükséges időtartamú másolatok elindultak -e.

Az Elasticsearch Index megtekintése

A létrehozott index adatainak megtekintéséhez használja az index létrehozásához hasonló kérést, de használja a HTTP módszert a PUT helyett, mint:

GET /single_index_with_body

A CURL esetében

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

Ez a parancs részletes információkat nyújt a kért indexről:

{
'single_index_with_body': {
'álnevek': {},
'leképezések': {
'tulajdonságok': {
'field1': {
'type': 'object'
}
}
},
'beállítások' : {
'index': {
'útvonalválasztás' : {
'allokáció': {
'include': {
'_tier_preference': 'data_content'
}
}
},
'number_of_shards': '2',
'nyújtott_név': 'single_index_with_body',
'creation_date': '1611045687208',
'number_of_replicas': '2',
'uuid': '3TRkO7xmQcSUOOGtb6pXVA',
'verzió': {
'created': '7100299'
}
}
}
}
}

Következtetés

Ez az útmutató megvitatta, hogyan dolgozhat együtt az Elasticsearch segítségével index API létrehozásához új indexek létrehozásához. Azt is megbeszéltük, hogyan lehet megfelelő neveket létrehozni az indexekhez és a konfigurációs beállításokhoz.

Ennek az útmutatónak a használatával mostantól indexeket hozhat létre és tekinthet meg az Elasticsearch API használatával.