Es bietet eine einfache und leistungsstarke REST -API für die Ausführung einer Sammlung von Aufgaben, wenn Sie Dokumente erstellen, die Gesundheit von Cluster überwachen und mehr.
Python ist eine der beliebtesten Programmiersprachen und neigt dazu, Elasticsarch sehr gut zu ergänzen.
In diesem Handbuch werden wir uns ansehen, wie Sie den Elasticsearch Python -Client verwenden, um mit dem Elasticsearch -Cluster zu interagieren.
Umgebungsaufbau
Bevor Sie den Elasticsearch Python -Client verbinden, ist es gut sicherzustellen, dass die Umgebung konfiguriert ist.
Schritt 1: Installation von Elasticsarch
Der erste Schritt besteht darin, den Elastisarch -Cluster in unserem System zu installieren und einzurichten. In diesem Handbuch verwenden wir einen Ubuntu -Server.
Aktualisieren Sie zunächst Ihre Repositorys:
sudo apt-Get Installieren Sie Update
Importieren Sie den Elasticsearch PGP -Schlüssel.
WGet -qo - https: // Artefakte.elastisch.CO/GPG-KEY-ELASTICSECHSEARCH | sudo apt-key add -
Installieren Sie das erforderliche APT-transport-HTTPS-Paket:
sudo apt-get installieren APT-transport-https
Speichern Sie das Repository.
Echo "Deb https: // Artefakte.elastisch.co/pakete/7.X/APT Stable Main "| sudo tee/etc/apt/Quellen.Liste.d/elastic-7.X.Liste
Aktualisieren und installieren Sie Elasticsearch
sudo APT -Update
sudo apt installieren elasticsearch
Aktivieren und beginnen Sie den Service:
sudo /bin /systemctl aktivieren Elasticsearch.Service
sudo systemctl starten elasticsearch.Service
Sobald der Dienst in Betrieb ist, führen Sie eine Locke zum Elasticsearch -Endpunkt aus:
curl http: // localhost: 9200
Wenn der Dienst ausgeführt wird, sollten Sie eine Ausgabe wie unten gezeigt sehen:
"Name": "Ubuntu2004",
"cluster_name": "Elasticsearch",
"cluster_uuid": "luk9qsqtsasfzxmsyxqdyg",
"Ausführung" :
"Nummer 7.15.0 ",
"Build_Flavor": "Standard",
"Build_type": "Deb",
"Build_hash": "79D65F6E357953A5B3CBCC5E2C7C21073D89AA29",
"Build_date": "2021-09-16t03: 05: 29.143308416z ",
"Build_snapshot": Falsch,
"Lucene_version": "8.9.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
"Slogan": "Weißt du, für die Suche"
Schritt 2: Python installieren
Der nächste Schritt besteht darin, Python zu installieren. Öffnen Sie auf Ubuntu/Debian das Terminal und geben Sie den folgenden Befehl ein, um die installierte Python -Version zu bestätigen:
Python -Version
Wenn Sie Python 3 installiert haben, sollten Sie eine ähnliche Ausgabe wie unten angezeigt sehen:
Python 3.10.0
Wenn nicht, installieren Sie Python 3 mit dem Befehl:
sudo apt-get installieren Sie Python3.10
Schritt 3: Installieren des Elasticsearch -Clients
Der letzte Schritt ist die Installation des Elasticsearch -Clients. Wir können dies mit dem PIP -Dienstprogramm als:
Beginnen Sie mit der Installation von PIP als:
sudo apt-get installieren Sie Python3-Pip
Installieren Sie schließlich den Elasticsearch -Client als:
PIP3 Installieren Sie ElasticSearch
Verbinden des Elasticsearch -Clients
Sobald unsere Umgebung eingerichtet und konfiguriert ist, können wir mit dem Elasticsearch -Client mit Gummiband interagieren.
Erstellen Sie zunächst eine Python -Datei.
GLASTIVETEN.py
Vim Elastic.py
Stellen Sie sicher, dass der Cluster in Betrieb ist
Stellen Sie vor der Interaktion mit dem Elasticsearch -Cluster sicher.
Anfragen importieren
substring = "Sie wissen, für die Suche".kodieren()
Antwort = Anfragen.Get ("http: // 127.0.0.1: 9200 ")
Wenn Substring als Antwort.Inhalt:
Print ("Elasticsearch ist in Betrieb!"))
anders:
Druck ("Etwas schief gelaufen, stellen Sie sicher, dass der Cluster abgelaufen ist!"))
Speichern und führen Sie die Datei als: Aus
Python -Gummiband.py
Ausgang:
Elasticsearch ist in Betrieb!
Stellen Sie eine Verbindung zum Elasticsearch -Cluster her
Um eine Verbindung zum Elasticsearch -Cluster herzustellen, können wir das folgende einfache Skript implementieren:
Anfragen importieren
Aus Elasticsearch Import Elasticsearch importieren
substring = "Sie wissen, für die Suche".kodieren()
Antwort = Anfragen.Get ("http: // 127.0.0.1: 9200 ")
Wenn Substring als Antwort.Inhalt:
ES = ElasticSearch (["Host": "Localhost", "Port": 9200])
Holen Sie sich ein Dokument mit Python
Um ein Dokument mit dem Python -Client zu erhalten, können Sie dies tun:
res = es.get (index = "Index-name", id = 1)
print (res ['_ source'])
Das obige Beispiel sollte Details zum abgefragten Dokument zurückgeben.
Indexierung eines Dokuments
Verwenden Sie den Code, um ein Dokument zu indexieren:
Aus der DateTime -Importdatetime importieren
Aus Elasticsearch Import Elasticsearch importieren
ES = ElasticSearch (["Host": "Localhost", "Port": 9200])
doc =
"Autor": "Dokument-Autor",
"Text": "Ein Textdokument",
"Zeitstempel": DateTime.Jetzt()
res = es.index (index = "probs-Index", id = 2, body = doc)
print (res ['Ergebnis'])
Löschen eines Dokuments
Um ein Dokument zu löschen:
res = es.delete (index = "Index-name", id = 1)
Schließen
In dieser Anleitung wird erläutert.
Betrachten Sie die Dokumentation, um zu erfahren, wie Sie die volle Funktionalität der Elasticsearch -Bibliothek nutzen können.