sql >> Databáze >  >> RDS >> Database

Jak smazat data z Elastisearch

Jednou z jedinečných konstrukčních vlastností Elasticsearch je, že na rozdíl od většiny tradičních systémů nebo databází jsou všechny úkoly, jako je připojení a manipulace s Elasticsearch, prováděny pomocí REST API , což znamená, že téměř každý dotaz nebo příkaz provedený na vašem uzlu Elasticsearch je jednoduchý HTTP požadavek na konkrétní URL.

V závislosti na HTTP verb odeslané a URL, na které je sloveso odesláno, může Elasticsearch provádět širokou škálu akcí na uzlu nebo dokonce na clusteru.

Struktura adresy URL rozhraní REST API Elasticsearch

Na nejzákladnější úrovni, chcete-li provést příkaz v Elasticsearch, budete muset odeslat sloveso HTTP na adresu URL vašeho uzlu Elasticsearch. Pro vývoj je to obvykle localhost:9200 .

Ve většině V těchto případech je nejjednodušší způsob odeslání požadavku do REST API Elasticsearch pomocí užitečného nástroje příkazového řádku cURL , což je jednoduchý nástroj používaný k přenosu téměř jakéhokoli druhu internetových dat.

Chcete-li například vypsat všechny indices , můžete spustit následující curl příkaz z příkazového řádku vašeho vývojového serveru (jak je uvedeno v oficiální dokumentaci:

$ curl 'localhost:9200/_cat/indices?v'
health index pri rep docs.count docs.deleted bookstore.size pri.bookstore.size

Zde přistupujeme k cat API (označeno úvodním _ podtržítko) a zobrazení indices , který ukazuje průřez každým indexem v clusteru.

Indexy, typy, dokumenty a vlastnosti

S příkladem na místě můžeme podrobněji prozkoumat specifickou strukturu rozhraní Elasticsearch REST API, která se nejčastěji budou skládat ze tří strukturovaných komponent, index , type a document :

localhost:9200/index/type/document

index je nadřazená struktura a je nejjednodušeji myšlena jako database která obsahuje mnoho types . A index může představovat jakýkoli koncept, ale často bude představovat celý systém komponent, jako je shop nebo bookstore .

Types jsou obsaženy v index a jsou podobné databázovým tables , s každým type představující kolekci podobných předmětů (jako shirt nebo book ).

Nakonec document je jedna instance nebo reprezentace objektu nadřazeného type . Kniha „Hobit“ tedy může existovat jako kniha type v index s názvem knihkupectví .

Smazání dat z Elasticsearch

Se základní syntaxí REST API můžeme prozkoumat, jak provádět konkrétní akce, jako je mazání dat.

Smazat jeden dokument

Vezmeme-li naši základní syntaxi, jak je vidět výše, musíme použít curl a odešlete DELETE HTTP sloveso pomocí -XDELETE možnost:

$ curl -XDELETE 'localhost:9200/index/type/document'

Například k odstranění našeho výše uvedeného knižního document , můžeme použít následující příkaz:

$ curl -XDELETE 'localhost:9200/bookstore/book/1'

Tím smažete document s ID z 1 z book type který je v bookstore index .

Smazat typ

Jak asi tušíte, jen s mírným rozšířením syntaxe jsme schopni odstranit celý type . Zde odstraňujeme book type :

$ curl -XDELETE 'localhost:9200/bookstore/book'

Smazat rejstřík

A konečně, pokud chceme smazat celý index , lze to provést pomocí stejné syntaxe jako dříve:

$ curl -XDELETE 'localhost:9200/bookstore'

  1. Jak získám aktuální rok pomocí SQL na Oracle?

  2. Příkaz INSERT je v konfliktu s omezením FOREIGN KEY - SQL Server

  3. Je mysqli_real_escape_string dostačující, aby se zabránilo SQL injection nebo jiným SQL útokům?

  4. Smazat duplicitní řádky (nemazat všechny duplicitní)