Zapewnia prosty i potężny interfejs API REST do wykonywania zbioru zadań z tworzenia dokumentów, monitorowania zdrowia klastrów i innych.
Python jest jednym z najpopularniejszych języków programowania i bardzo dobrze uzupełnia Elasticsearch.
W tym przewodniku przyjrzymy się, jak użyć klienta Elasticsearch Python do interakcji z klastrem ElasticSearch.
Konfiguracja środowiska
Przed podłączeniem klienta Elasticsearch Python, dobrze jest upewnić się, że konfigurujemy środowisko.
Krok 1: Instalowanie ElasticSearch
Pierwszym krokiem jest zainstalowanie i skonfigurowanie klastra elastisearch w naszym systemie. W tym przewodniku użyjemy serwera Ubuntu.
Zacznij od aktualizacji repozytoriów:
Aktualizacja instalacji sudo apt-get
Zaimportuj klucz PGP Elasticsearch.
wget -qo - https: // artefacts.elastyczny.CO/GPG-KEY-ELASTICSEARK | sudo apt-key add -
Zainstaluj wymagany pakiet Apt-Transport-HTTPS:
sudo apt-get instaluj apt-transport-https
Zapisz repozytorium.
echo "deb https: // artefakty.elastyczny.co/pakiety/7.x/apt stabilna główna „| sudo tee/etc/apt/źródła.lista.D/Elastic-7.X.lista
Zaktualizuj i zainstaluj ElasticSearch
Aktualizacja sudo apt
sudo apt instal instal elasticsearch
Włącz i uruchom usługę:
sudo /bin /systemCtl Włącz ElasticSearch.praca
sudo systemctl start elasticsearch.praca
Po uruchomieniu usługi wykonaj loki do punktu końcowego ElasticSearch:
curl http: // localhost: 9200
Jeśli usługa działa, powinieneś zobaczyć dane wyjściowe, jak pokazano poniżej:
„Nazwa”: „Ubuntu2004”,
„Cluster_name”: „ElasticSearch”,
„klaster_uuid”: „LUK9QSQTSASFZXMSYXQDYG”,
„Wersja”:
„Numer”: „7.15.0 ",
„Build_flavor”: „domyślnie”,
„Build_Type”: „Deb”,
„Build_hash”: „79D65F6E357953A5B3CBCC5E2C7C21073D89AA29”,
„Build_date”: „2021-09-16t03: 05: 29.143308416Z ",
„Build_snapshot”: False,
„Lucene_version”: „8.9.0 ",
„minimum_wire_compatibility_version”: „6.8.0 ",
„minimum_index_compatibility_version”: „6.0.0-beta1 "
,
„Slandline”: „Wiesz, do wyszukiwania”
Krok 2: Instalowanie Pythona
Następnym krokiem jest zainstalowanie Pythona. Na Ubuntu/Debian otwórz terminal i wprowadź poniższe polecenie, aby potwierdzić zainstalowaną wersję Python:
Python --version
Jeśli masz zainstalowany Python 3, powinieneś zobaczyć wyjście podobne do tego pokazanego poniżej:
Python 3.10.0
Jeśli nie, zainstaluj Python 3 za pomocą polecenia:
sudo apt-get instal Python3.10
Krok 3: Instalowanie klienta ElasticSearch
Ostatnim krokiem jest instalacja klienta ElasticSearch. Możemy to zrobić za pomocą narzędzia PIP jako:
Zacznij od zainstalowania PIP jako:
sudo apt-get instal Python3-Pip
Na koniec zainstaluj ElasticSearch Client jako:
PIP3 Zainstaluj ElasticSearch
Łączenie klienta ElasticSearch
Po skonfigurowaniu i skonfigurowaniu naszego środowiska możemy wchodzić w interakcje z Elastic za pomocą klienta ElasticSearch.
Zacznij od utworzenia pliku Pythona.
dotknij elastycznego.py
Vim Elastic.py
Upewnij się, że klaster jest uruchomiony
Przed interakcją z klastrem ElasticSearch upewnij się, że usługa jest uruchomiona za pomocą modułu żądań.
żądania importu
Substring = "Wiesz, do wyszukiwania".kodować()
Odpowiedź = żądania.Get ("http: // 127.0.0.1: 9200 ")
Jeśli podłoże w odpowiedzi.treść:
Drukuj („ElasticSearch jest uruchomiony!")
w przeciwnym razie:
Drukuj („Coś poszło nie tak, upewnij się, że klaster jest w górę!")
Zapisz i uruchom plik jako:
Python Elastic.py
Wyjście:
ElasticSearch jest uruchomiony!
Połącz się z klastrem ElasticSearch
Aby połączyć się z klastrem ElasticSearch, możemy zaimplementować następujący prosty skrypt:
żądania importu
Z Elasticsearch Import ElasticSearch
Substring = "Wiesz, do wyszukiwania".kodować()
Odpowiedź = żądania.Get ("http: // 127.0.0.1: 9200 ")
Jeśli podłoże w odpowiedzi.treść:
es = elasticsearch ([„host”: „localhost”, „port”: 9200]))
Zdobądź dokument z Pythonem
Aby uzyskać dokument za pomocą klienta Python, możesz zrobić:
res = es.get (index = "indeks-name", id = 1)
print (res ['_ Źródło'])
Powyższy przykład powinien zwrócić szczegóły dotyczące zapytanego dokumentu.
Indeksowanie dokumentu
Aby indeksować dokument, użyj kodu:
z datetime import datetime
Z Elasticsearch Import ElasticSearch
es = elasticsearch ([„host”: „localhost”, „port”: 9200]))
Doc =
„Autor”: „Dokument-autoutor”,
„Tekst”: „Dokument tekstowy”,
„Znacznik czasu”: DateTime.Teraz()
res = es.indeks (indeks = "próbka-index", id = 2, body = doc)
print (res [„wynik”])
Usuwanie dokumentu
Aby usunąć dokument:
res = es.delete (index = "index-name", id = 1)
Zamknięcie
W tym przewodniku omówiono sposób konfigurowania i korzystania z Elasticearch z Pythonem za pomocą klienta ElasticSeach Python.
Aby dowiedzieć się, jak korzystać z pełnej funkcjonalności biblioteki Elasticsearch, rozważ dokumentację.