Naštěstí s Elasticsearch, když se data stanou nadbytečnými, musíte pouze získat přístup k nástroji pro provádění požadavků a přenos dat po síti.
Tento rychlý průvodce vám ukáže, jak používat mocné rozhraní Elasticsearch API k mazání dokumentů a indexů.
POZNÁMKA: Předpokládáme, že máte ve svém systému spuštěný Elasticsearch a že máte nástroj pro zadávání požadavků, například cURL. Poskytujeme také nezpracované požadavky na Kibanu, pokud používáte konzolu Kibana (doporučeno).
Jak vypsat rejstřík?
Chcete-li odstranit a indexovat v Elasticsearch, musíte nejprve ověřit, že existuje, než odešlete požadavek DELETE.
Pokud se pokusíte odstranit neexistující index, zobrazí se chyba podobná té, která je uvedena níže:
DELETE / this_index_does_not_existPro příkaz cURL:
curl -XDELETE “http: // localhost: 9200 / this_index_does_not_exist”Odstranění indexu způsobí chybu jako:
"error":
"Příčina" : [
"type": "index_not_found_exception",
"reason": "žádný takový index [this_index_does_not_exist]",
"index_uuid": "_na_",
"zdroj.zadejte ":" index_or_alias ",
"zdroj.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"
],
"type": "index_not_found_exception",
"reason": "žádný takový index [this_index_does_not_exist]",
"index_uuid": "_na_",
"zdroj.zadejte ":" index_or_alias ",
"zdroj.id ":" this_index_does_not_exist ",
"index": "this_index_does_not_exist"
,
"status": 404
Existují různé způsoby, jak zkontrolovat, zda index existuje; nejlepší je uvést jeho název. Například můžete použít zástupné znaky, které odpovídají konkrétnímu jménu.
Níže uvedený příklad požadavku uvádí indexy s názvy te *
ZÍSKAT / te *Příkaz cURL je:
curl -XGET „http: // localhost: 9200 / te *“Tento příkaz by měl vrátit všechny indexy odpovídající tomuto konkrétnímu vzoru, což vám umožní zapamatovat si pouze částečný název indexu, který chcete odstranit.
"temp":
"aliasy": ,
"mapování": ,
"settings":
"index":
"routing":
"alokace":
"zahrnout" :
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"provided_name": "temp",
"creation_date": "1611180802266",
"number_of_replicas": "1",
"uuid": "c7dOH6MQQUmHM2MKJ73ekw",
"verze":
"created": "7100299"
,
"temp_1":
"aliasy": ,
"mapování": ,
"settings":
"index":
"routing":
"alokace":
"zahrnout" :
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"provided_name": "temp_1",
"creation_date": "1611180811874",
"number_of_replicas": "1",
"uuid": "pq1UUR2XTZS3xfs6Hxr4gg",
"verze":
"created": "7100299"
,
"temp_2":
"aliasy": ,
"mapování": ,
"settings":
"index":
"routing":
"alokace":
"zahrnout" :
"_tier_preference": "data_content"
,
"number_of_shards": "1",
"provided_name": "temp_2",
"creation_date": "1611180815041",
"number_of_replicas": "1",
"uuid": "8NdXWPuBTLe6r4eZ407W9Q",
"verze":
"created": "7100299"
Další možností je přidat k požadavku parametr ignore_unavailable. Například:
DELETE / ignore_me?ignore_unavailable = truePro uživatele cURL:
[cc lang = "text" width = "100%" height = "100%" escaped = "true" theme = "blackboard" nowrap = "0"]
curl -XDELETE “http: // localhost: 9200 / ignore_me?ignore_unavailable = true ”
Jak odstranit Index?
Jakmile budete mít index, který chcete z Elasticsearch odebrat, použijte požadavek DELETE následovaný názvem indexu.
Obecná syntaxe je:
ODSTRANIT /Název indexu může být konkrétní index nebo zástupný znak, který vybírá skupinu indexů. Zajistěte správné použití zástupných znaků; v opačném případě můžete odstranit nesprávné indexy.
POZNÁMKA: Odstranění indexů Elasticsearch pomocí aliasů je zakázáno.
Zvažte níže uvedený příklad žádosti, který odstraní index temp_1:
DELETE / temp_1Pro příkaz cURL:
curl -XDELETE “http: // localhost: 9200 / temp_1”Provedení tohoto příkazu by mělo reagovat objektem JSON, což označuje úspěšné odstranění indexu.
„Potvrzeno“: pravda
Elasticsearch je dostatečně chytrý na to, aby věděl, že můžete indexy náhodně odstranit. Proto můžete nastavit, jaké typy zástupných výrazů jsou povoleny.
Mezi tyto typy zástupných znaků patří:
- Všechno: Zahrnuje všechny indexy, včetně otevřených, uzavřených a skrytých (počínaje)
- Otevřeno: Zahrnuje pouze otevřené indexy
- Zavřeno: Zahrnuje pouze uzavřené indexy
- Žádný: Žádné zástupné znaky nejsou povoleny.
Závěr
V této rychlé a jednoduché příručce jsme probrali proces používání Elasticsearch k odstranění indexů z klastru. Také jsme diskutovali o jednoduchých způsobech, jak můžete implementovat, abyste se vyhnuli chybám u indexů, které neexistují.
Děkuji za přečtení.