Wie benutze ich Elasticsearch in Python??

Wie benutze ich Elasticsearch in Python??
Elasticsearch ist eine kostenlose und open-Source-Such- und Analyse-Engine, die auf dem Apache Lucene-Projekt basiert. Elasticsearch speichert seine Daten im JSON -Format und macht es sehr einfach zu bedienen.

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.