Szerencsére az Elasticsearch alkalmazással, amikor az adatok feleslegessé válnak, csak annyit kell tennie, hogy hozzáfér egy eszközhöz, hogy kéréseket hajtson végre és adatokat továbbítson a hálózaton.
Ez a gyors útmutató bemutatja, hogyan lehet a hatalmas Elasticsearch API-t használni dokumentumok és indexek törléséhez.
JEGYZET: Feltételezzük, hogy az Elasticsearch fut a rendszerén, és van egy eszköze kérések megtételéhez, például a cURL. Nyers Kibana kéréseket is nyújtunk, ha a Kibana konzolt használja (ajánlott).
Az index felsorolása?
Ha törölni és indexelni szeretne az Elasticsearch alkalmazásban, akkor a DELETE kérelem elküldése előtt először ellenőriznie kell a létezését.
Ha nem létező indexet próbál meg törölni, az alábbihoz hasonló hibát kap:
DELETE / this_index_does_not_existA cURL parancshoz:
curl -XDELETE “http: // localhost: 9200 / this_index_does_not_exist”Az index törlése hibát okoz:
"hiba":
"kiváltó ok" : [
"type": "index_not_found_exception",
"reason": "nincs ilyen index [this_index_does_not_exist]",
"index_uuid": "_na_",
"forrás.type ":" index_vagy_alias ",
"forrás.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"
],
"type": "index_not_found_exception",
"reason": "nincs ilyen index [this_index_does_not_exist]",
"index_uuid": "_na_",
"forrás.type ":" index_vagy_alias ",
"forrás.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"
,
"állapot": 404
Számos módja van annak ellenőrzésére, hogy létezik-e index; a legjobb, ha felsoroljuk a nevét. Például helyettesítő karaktereket használhat egy adott névhez.
Az alábbi kérés felsorolja a te * nevű indexeket
GET / te *A cURL parancs:
curl -XGET “http: // localhost: 9200 / te *”Ennek a parancsnak vissza kell adnia az adott mintának megfelelő összes indexet, lehetővé téve, hogy csak az eltávolítani kívánt index részleges nevét emlékezze meg.
"temp":
"álnevek": ,
"leképezések": ,
"beállítások" :
"index":
"útvonalválasztás" :
"allokáció":
"include":
"_tier_preference": "data_content"
,
"sh_s__szam": "1",
"megadott_név": "hőmérséklet",
"creation_date": "1611180802266",
"replikák száma": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"verzió":
"teremtett": "7100299"
,
"temp_1":
"álnevek": ,
"leképezések": ,
"beállítások" :
"index":
"útvonalválasztás" :
"allokáció":
"include":
"_tier_preference": "data_content"
,
"sh_s__szam": "1",
"megadott_név": "temp_1",
"creation_date": "1611180811874",
"replikák száma": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"verzió":
"teremtett": "7100299"
,
"temp_2":
"álnevek": ,
"leképezések": ,
"beállítások" :
"index":
"útvonalválasztás" :
"allokáció":
"include":
"_tier_preference": "data_content"
,
"sh_s__szam": "1",
"megadott_név": "temp_2",
"creation_date": "1611180815041",
"replikák száma": "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"verzió":
"teremtett": "7100299"
Egy másik módszer az ignore_unavailable paraméter hozzáadása a kérelemhez. Például:
DELETE / ignore_me?ignore_unavailable = trueCURL felhasználók számára:
[cc lang = "text" width = "100%" height = "100%" escaped = "true" theme = "blackboard" nowrap = "0"]
curl -XDELETE “http: // localhost: 9200 / ignore_me?ignore_unavailable = true ”
Hogyan lehet törölni egy Index?
Ha megvan az Elasticsearchből eltávolítani kívánt index, használja a DELETE kérést, majd az index nevét.
Az általános szintaxis:
TÖRLÉS /Az index neve lehet egy meghatározott index vagy egy helyettesítő karakter, amely kiválaszt egy indexcsoportot. Gondoskodjon a helyettesítő karakterek helyes használatáról; ellenkező esetben eltávolíthatja a rossz indexeket.
JEGYZET: Az Elasticsearch indexek törlése álnevek használatával nem engedélyezett.
Tekintsük az alábbi példakérést, amely eltávolítja a temp_1 indexet:
DELETE / temp_1A cURL parancshoz:
curl -XDELETE “http: // localhost: 9200 / temp_1”A parancs végrehajtásakor JSON objektummal kell válaszolnia, jelezve az index sikeres eltávolítását.
„Elismert”: igaz
Az Elasticsearch elég okos ahhoz, hogy tudja, hogy véletlenül eltávolíthatja az indexeket. Ezért beállíthatja, hogy a wildcard kifejezések milyen típusúak legyenek megengedettek.
Az ilyen típusú helyettesítő kifejezések a következők:
- Minden: Minden indexet tartalmaz, beleértve a nyitott, zárt és rejtett mutatókat is (kezdve)
- Nyisd ki: Csak a nyitott indexeket tartalmazza
- Zárva: Csak zárt indexeket tartalmaz
- Egyik sem: Nincs helyettesítő kifejezés megengedve.
Következtetés
Ebben a gyors és egyszerű útmutatóban megvitattuk az Elasticsearch használatának folyamatát indexek törléséhez egy fürtből. Megbeszéltük azokat az egyszerű módszereket is, amelyekkel megvalósíthatja a nem létező indexek hibáinak elkerülését.
Köszönöm, hogy elolvasta.