Elasticsearch
Ucz się Elasticsearch z kibaną
Szukaj…
Wprowadzenie
Kibana to narzędzie do wizualizacji danych typu front-end do wyszukiwania elastycznego. w celu instalacji kibana zapoznaj się z dokumentacją kibana. Aby uruchomić kibana na localhost, przejdź do https: // localhost: 5601 i przejdź do konsoli kibana.
Eksploruj swój klaster za pomocą Kibana
Składnia polecenia będzie następującego typu:
<REST Verb> /<Index>/<Type>/<ID>
Wykonaj następujące polecenie, aby eksplorować klaster elasticsearch za pomocą konsoli Kibana.
- Do sprawdzania kondycji klastra
GET /_cat/health?v
- Aby wyświetlić wszystkie indeksy
GET /_cat/indices?v
- Do tworzenia indeksu z nazwą samochodu
PUT /car?pretty
- Do indeksowania dokumentu o nazwie samochód typu zewnętrznego przy użyciu identyfikatora 1
PUT /car/external/1?pretty
{
"name": "Tata Nexon"
}
odpowiedzią na powyższe zapytanie będzie:
{
"_index": "car",
"_type": "external",
"_id": "1",
"_version": 1,
"result": "created",
"_shards": {
"total": 2,
"successful": 1,
"failed": 0
},
"created": true
}
- pobranie powyższego dokumentu można wykonać za pomocą:
GET /car/external/1?pretty
- Do usuwania indeksu
DELETE /car?pretty
Zmodyfikuj dane elasticsearch
Elasticsearch zapewnia możliwość manipulacji danymi i wyszukiwania danych w czasie prawie rzeczywistym. w tym przykładzie mamy operacje aktualizacji, usuwania i przetwarzania wsadowego.
- Aktualizowanie tego samego dokumentu. Załóżmy, że już zaindeksowaliśmy dokument w katalogu / car / external / 1. Następnie uruchomienie polecenia indeksowania danych zastępuje poprzedni dokument.
PUT /car/external/1?pretty
{
"name": "Tata Nexa"
}
poprzedni dokument samochodu o identyfikatorze 1 o nazwie „Tata Nexon” zostanie zaktualizowany o nową nazwę „Tata Nexa”
- indeksowanie danych z wyraźnym identyfikatorem
POST /car/external?pretty
{
"name": "Jane Doe"
}
do indeksowania dokumentu bez identyfikatora używamy czasownika POST zamiast czasownika PUT . jeśli nie podamy identyfikatora, elasticsearch wygeneruje losowy identyfikator, a następnie użyje go do zindeksowania dokumentu.
- Częściowa aktualizacja poprzedniego dokumentu o identyfikatorze.
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nex" }
}
- aktualizacja dokumentu o dodatkowe informacje
POST /car/external/1/_update?pretty
{
"doc": { "name": "Tata Nexon", "price": 1000000 }
}
- aktualizacja dokumentu za pomocą prostych skryptów.
POST /car/external/1/_update?pretty
{
"script" : "ctx._source.price += 50000"
}
ctx._source odnosi się do bieżącego dokumentu źródłowego, który ma zostać zaktualizowany. Powyższy skrypt udostępnia tylko jeden skrypt do aktualizacji w tym samym czasie.
- Usuwanie dokumentu
DELETE /car/external/1?pretty
Uwaga: usunięcie całego indeksu jest bardziej wydajne niż usunięcie wszystkich dokumentów za pomocą funkcji API Delete by Query API
Przetwarzanie wsadowe
Oprócz indeksowania aktualizacji i usuwania dokumentu, elasticsearch zapewnia również możliwość wykonywania dowolnej z powyższych operacji partiami przy użyciu _bulk API.
- do aktualizacji wielu dokumentów przy użyciu _bulk API
POST /car/external/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "Tata Nexon" }
{"index":{"_id":"2"}}
{"name": "Tata Nano" }
- do aktualizacji i usuwania dokumentów za pomocą _bulk API
POST /car/external/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "Tata Nano" } }
{"delete":{"_id":"2"}}
Jeśli operacja się nie powiedzie, interfejs API zbiorczego nie zatrzymuje się. Wykonuje wszystkie operacje i ostatecznie zwraca raport dla wszystkich operacji.