Elasticsearch Smazat všechny indexy

Elasticsearch Smazat Vsechny Indexy



Elasticsearch je bezplatný, open-source vyhledávací a analytický nástroj, který pohání ELK Stack. Elasticsearch umožňuje různým datovým kanálům pomocí nástrojů, jako je Logstash, shromažďovat a agregovat data. Elasticsearch poté ukládá poskytnutá data a umožňuje aplikacím přistupovat, vyhledávat, třídit a filtrovat velké množství dat téměř v reálném čase. Elasticsearch vám také umožňuje vizualizovat různá data pomocí vestavěných nástrojů.

Díky těmto funkcím je Elasticseach velmi vhodný pro vyhledávání a třídění velkého množství dat s minimální až žádnou latencí. Ať už tedy vytváříte vyhledávač nebo analyzujete protokoly, metriky a další textová data, Elasticsearch je skvělou volbou.







Srdcem Elasticsearch je index. Index odkazuje na jednotku odpovědnou za ukládání dokumentů v Elasticsearch. Index je v kontextu relačních databází relativně ekvivalentní databázi. Můžete mít například index, který obsahuje všechna data pro protokoly webové aplikace.



Jako u všech databází se můžete setkat se scénářem, kdy budete muset z clusteru odstranit všechna data, což vám umožní začít s čistým štítem.



Tento článek ukazuje, jak pomocí funkcí Elasticsearch API odebrat všechny indexy z vašeho clusteru.





UPOZORNĚNÍ: Metody a techniky použité v tomto článku povedou ke ztrátě dat. Neneseme odpovědnost za jakoukoli ztrátu dat, ke které může dojít v důsledku pokynů v tomto článku.

Elasticsearch Delete Index API

Pokud spouštíte Elasticsearch, budete potřebovat vědět, jak provádět základní volání API. Je to proto, že Elasticsearch využívá API na maximum.



Jak můžete hádat, k odstranění indexu z clusteru používáme rozhraní Delete Index API. Syntaxe požadavků na odstranění indexu je uvedena takto:

VYMAZAT /< index >


Požadavek odstraní zadaný index a uložené dokumenty, úlomky a všechna jeho metadata.

Mějte na paměti, že to neodstraní žádné komponenty Kibana spojené se zadaným indexem, jako jsou datové pohledy atd.

Můžete zadat jeden nebo více indexů tak, že je oddělíte čárkami. Příklad syntaxe je uveden:

VYMAZAT / index_name
VYMAZAT / index1,index2,index3...indexN


Elasticsearch vám zabrání v použití aliasu Index při mazání indexu. Místo toho musíte použít název indexu.

Příklad 1: Elasticsearch Delete Index

Následující příklad ukazuje, jak použít Elasticsearch delete index API k odstranění existujícího indexu z clusteru:

kučera -XDELETE 'http://localhost:9200/kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: reporting'


Předchozí požadavek odešle požadavek DELETE do rozhraní API pro odstranění. To by mělo odstranit index s názvem „kibana_sample_data_logs“.

Výsledný výstup je následující:

{
'uznal' : skutečný
}

Příklad 2: Elasticsearch Vymazání více indexů

Můžeme odstranit více indexů tak, že je předáme jako seznam oddělený čárkami. Příklad dotazu je následující:

kučera -XDELETE 'http://localhost:9200kibana_sample_data_flights,kibana_sample_data_logs?pretty=true' -H 'kbn-xsrf: reporting'


Předchozí příkaz odstraní zadané indexy a vrátí zprávu, jak je znázorněno:

{
'uznal' : skutečný
}


Poznámka: Pokud index neexistuje, Elasticsearch vrátí chybu, jak je uvedeno:

Příklad 3: Elasticsearch Vymazání všech indexů

K odstranění všech indexů z clusteru můžeme použít zástupný znak _all v rozhraní API pro odstranění indexu. Rozhraní API pro odstranění indexu vám ve výchozím nastavení zabrání v předání zástupných znaků v požadavku.

Můžete to zakázat nastavením action.desctructive_requires_name na hodnotu false.

Následující dotaz ukazuje, jak povolit použití zástupných znaků v rozhraní API pro odstranění indexu:

kučera -XPUT 'localhost:9200 /_cluster/settings' -H 'kbn-xsrf: reporting' -H 'Typ obsahu: aplikace/json' -d '
{
'přechodné': {
'action.destructive_requires_name' : nepravda
}
}'


POZNÁMKA: Přestože Elasticsearch nedoporučuje použití přechodných nastavení clusteru, vyhněte se nastavení destruktivních parametrů clusteru, jako je použití zástupných znaků jako trvalého nastavení clusteru.

Předchozí dotaz by měl vrátit výsledek jako:

{
'uznal' : skutečný ,
'vytrvalý' : { } ,
'přechodný' : {
'akce' : {
'destructive_requires_name' : 'Nepravdivé'
}
}
}


Jakmile budete úspěšní, můžete odstranit všechny indexy v clusteru spuštěním následujícího příkazu:

kučera -XDELETE “http://localhost:9200/_all?pretty=true” -H 'kbn-xsrf: reporting'

Příklad 4: Elasticsearch Odstraňte všechny indexy, které odpovídají konkrétním názvům

Pokud chcete odstranit všechny indexy, které odpovídají určitému vzoru, můžete použít zástupný znak (*).

Chcete-li například odstranit všechny indexy začínající názvem kibana, můžeme spustit následující dotaz:

kučera -XDELETE “http://localhost:9200/kibana*” -H 'kbn-xsrf: reporting'


Předchozí požadavek odstraní všechny indexy počínaje kibanou.

POZNÁMKA: Předchozí požadavek vyžaduje použití zástupných znaků. Proto musíte povolit podporu zástupných znaků, jak je uvedeno v předchozí části.

Závěr

Tato příručka vás naučila používat rozhraní API pro odstranění indexu Elasticsearch. Také jste se naučili, jak povolit podporu zástupných znaků ve vašem clusteru, odstranit všechny indexy a odstranit indexy, které odpovídají konkrétnímu vzoru.