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'