Lizenz
Sicherheit
Elasticsearch ist eine verteilte Such- und Analysemaschine, ein skalierbarer Datenspeicher und eine Vektordatenbank, die für Geschwindigkeit und Relevanz bei Arbeitslasten im Produktionsmaßstab optimiert sind. Elasticsearch ist die Grundlage der offenen Stack-Plattform von Elastic. Durchsuchen Sie riesige Datensätze nahezu in Echtzeit, führen Sie Vektorsuchen durch, integrieren Sie generative KI-Anwendungen und vieles mehr.
Zu den durch Elasticsearch ermöglichten Anwendungsfällen gehören:
Retrieval Augmented Generation (RAG)
Vektorsuche
Volltextsuche
Protokolle
Metriken
Überwachung der Anwendungsleistung (APM)
Sicherheitsprotokolle
... und mehr!
Weitere Informationen zu den Funktionen und Möglichkeiten von Elasticsearch finden Sie auf unserer Produktseite.
Um auf Informationen zu Innovationen im Bereich maschinelles Lernen und die neuesten Lucene-Beiträge von Elastic zuzugreifen, finden Sie weitere Informationen in Search Labs.
Der einfachste Weg, Elasticsearch einzurichten, besteht darin, eine verwaltete Bereitstellung mit Elasticsearch Service in Elastic Cloud zu erstellen.
Wenn Sie Elasticsearch lieber selbst installieren und verwalten möchten, können Sie die neueste Version von elastic.co/downloads/elasticsearch herunterladen.
Warnung | VERWENDEN SIE DIESE ANWEISUNGEN NICHT FÜR PRODUKTIONSEINSATZ. Dieses Setup ist nur für die lokale Entwicklung und Tests gedacht. |
Richten Sie Elasticsearch und Kibana in Docker schnell für lokale Entwicklung oder Tests ein, indem Sie das start-local
-Skript verwenden.
ℹ️ Ausführlichere Informationen zum start-local
-Setup finden Sie in der README-Datei auf GitHub.
Wenn Sie Docker nicht installiert haben, laden Sie Docker Desktop herunter und installieren Sie es für Ihr Betriebssystem.
Wenn Sie Microsoft Windows verwenden, installieren Sie das Windows-Subsystem für Linux (WSL).
Zu diesem Setup gehört eine einmonatige Testlizenz, die alle Elastic-Funktionen umfasst.
Nach dem Testzeitraum wird die Lizenz auf „Free and Open – Basic“ zurückgesetzt. Weitere Informationen finden Sie unter Elastic-Abonnements.
start-local
aus Um Elasticsearch und Kibana lokal einzurichten, führen Sie das start-local
-Skript aus:
curl -fsSL https://elastic.co/start-local | sh
Dieses Skript erstellt einen elastic-start-local
Ordner mit Konfigurationsdateien und startet sowohl Elasticsearch als auch Kibana mit Docker.
Nach der Ausführung des Skripts können Sie an den folgenden Endpunkten auf Elastic-Dienste zugreifen:
Elasticsearch : http://localhost:9200
Kibana : http://localhost:5601
Das Skript generiert ein zufälliges Passwort für den elastic
Benutzer, das am Ende der Installation angezeigt und in der .env
Datei gespeichert wird.
Vorsicht | Dieses Setup dient nur lokalen Tests. HTTPS ist deaktiviert und für Elasticsearch wird die Standardauthentifizierung verwendet. Aus Sicherheitsgründen sind Elasticsearch und Kibana nur über |
Ein API-Schlüssel für Elasticsearch wird generiert und in der .env
Datei als ES_LOCAL_API_KEY
gespeichert. Verwenden Sie diesen Schlüssel, um mit einem Programmiersprachen-Client oder der REST-API eine Verbindung zu Elasticsearch herzustellen.
Überprüfen Sie im Ordner elastic-start-local
die Verbindung zu Elasticsearch mithilfe von curl
:
Quelle .env curl $ES_LOCAL_URL -H " Autorisierung: ApiKey ${ES_LOCAL_API_KEY} "
Sie senden Daten und andere Anfragen über REST-APIs an Elasticsearch. Sie können mit Elasticsearch über jeden Client interagieren, der HTTP-Anfragen sendet, z. B. die Elasticsearch-Sprachclients und Curl.
Hier ist ein Beispiel für einen Curl-Befehl zum Erstellen eines neuen Elasticsearch-Index unter Verwendung der Basisauthentifizierung:
curl -u elastic: $ELASTIC_PASSWORD -X PUT http://localhost:9200/my-new-index -H ' Content-Type: application/json '
Um mit einem Sprachclient eine Verbindung zu Ihrem lokalen Entwickler-Elasticsearch-Cluster herzustellen, können Sie die Basisauthentifizierung mit dem elastic
Benutzernamen und dem Passwort verwenden, die Sie in der Umgebungsvariablen festgelegt haben.
Sie verwenden die folgenden Verbindungsdetails:
Elasticsearch-Endpunkt : http://localhost:9200
Benutzername : elastic
Passwort : $ELASTIC_PASSWORD
(Wert, den Sie in der Umgebungsvariablen festlegen)
So stellen Sie beispielsweise eine Verbindung mit dem Python elasticsearch
Client her:
Betriebssystem aus Elasticsearch importieren Import Elasticsearch Benutzername = 'elastic' Passwort = Betriebssystem . getenv ( 'ELASTIC_PASSWORD' ) # Wert, den Sie in der Umgebungsvariablen client = Elasticsearch ( "http://localhost:9200" , basic_auth = ( Benutzername , Passwort )) festgelegt haben print ( client.info ())
Die Entwicklerkonsole von Kibana bietet eine einfache Möglichkeit zum Experimentieren und Testen von Anfragen. Um auf die Konsole zuzugreifen, öffnen Sie Kibana und gehen Sie dann zu Management > Dev Tools .
Daten hinzufügen
Sie indizieren Daten in Elasticsearch, indem Sie JSON-Objekte (Dokumente) über die REST-APIs senden. Unabhängig davon, ob Sie über strukturierten oder unstrukturierten Text, numerische Daten oder Geodaten verfügen, speichert und indiziert Elasticsearch diese effizient und auf eine Weise, die schnelle Suchvorgänge unterstützt.
Für zeitgestempelte Daten wie Protokolle und Metriken fügen Sie normalerweise Dokumente zu einem Datenstrom hinzu, der aus mehreren automatisch generierten Sicherungsindizes besteht.
Um ein einzelnes Dokument zu einem Index hinzuzufügen, senden Sie eine HTTP-Post-Anfrage, die auf den Index abzielt.
POST /customer/_doc/1 { „Vorname“: „Jennifer“, „Nachname“: „Walters“ }
Diese Anfrage erstellt automatisch den customer
, falls dieser nicht vorhanden ist, fügt ein neues Dokument mit der ID 1 hinzu und speichert und indiziert die Felder firstname
und lastname
.
Das neue Dokument ist sofort von jedem Knoten im Cluster verfügbar. Sie können es mit einer GET-Anfrage abrufen, die seine Dokument-ID angibt:
GET /customer/_doc/1
Um mehrere Dokumente in einer Anfrage hinzuzufügen, verwenden Sie die _bulk
-API. Massendaten müssen durch Zeilenumbrüche getrenntes JSON (NDJSON) sein. Jede Zeile muss mit einem Zeilenumbruchzeichen ( n
) enden, einschließlich der letzten Zeile.
PUT customer/_bulk { „create“: { } } { „firstname“: „Monica“, „lastname“: „Rambeau“} { „create“: { } } { „firstname“: „Carol“, „lastname“: „Danvers“} { „create“: { } } { „firstname“: „Wanda“, „lastname“: „Maximoff“} { „create“: { } } { „firstname“: „Jennifer“, „lastname“: „Takeda“}
Suchen
Indizierte Dokumente stehen für die Suche nahezu in Echtzeit zur Verfügung. Die folgende Suche findet alle Kunden mit dem Vornamen Jennifer im customer
.
GET customer/_search { "query" : { "match" : { "firstname": "Jennifer" } } }
Erkunden
Sie können Discover in Kibana verwenden, um Ihre Daten interaktiv zu durchsuchen und zu filtern. Von dort aus können Sie mit der Erstellung von Visualisierungen sowie der Erstellung und Freigabe von Dashboards beginnen.
Erstellen Sie zunächst eine Datenansicht , die eine Verbindung zu einem oder mehreren Elasticsearch-Indizes, Datenströmen oder Indexaliasen herstellt.
Gehen Sie zu Management > Stack Management > Kibana > Datenansichten .
Wählen Sie Datenansicht erstellen .
Geben Sie einen Namen für die Datenansicht und ein Muster ein, das einem oder mehreren Indizes entspricht, z. B. Kunde .
Wählen Sie Datenansicht in Kibana speichern aus.
Um mit der Erkundung zu beginnen, gehen Sie zu Analytics > Entdecken .
Informationen zum Upgrade von einer früheren Version von Elasticsearch finden Sie in der Dokumentation zum Elasticsearch-Upgrade.
Elasticsearch verwendet Gradle für sein Build-System.
Führen Sie Folgendes aus, um eine Distribution für Ihr lokales Betriebssystem zu erstellen und deren Ausgabeort nach Abschluss zu drucken:
./gradlew localDistro
Um eine Distribution für eine andere Plattform zu erstellen, führen Sie den entsprechenden Befehl aus:
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
Führen Sie Folgendes aus, um Distributionen für alle unterstützten Plattformen zu erstellen:
./gradlew montieren
Verteilungen werden an distribution/archives
ausgegeben.
Informationen zum Ausführen der Testsuite finden Sie unter TESTEN.
Die vollständige Elasticsearch-Dokumentation finden Sie unter elastic.co.
Informationen zu unseren Dokumentationsprozessen finden Sie in der README-Datei der Dokumentation.
Das elasticsearch-labs
Repository enthält ausführbare Python-Notebooks, Beispiel-Apps und Ressourcen zum Testen von Elasticsearch für Vektorsuche, Hybridsuche und generative KI-Anwendungsfälle.
Richtlinien zu Beiträgen finden Sie unter BEITRAGEN.
Um einen Fehler zu melden oder eine Funktion anzufordern, erstellen Sie ein GitHub-Problem. Bitte stellen Sie sicher, dass nicht jemand anderes ein Problem zum gleichen Thema erstellt hat.
Benötigen Sie Hilfe bei der Verwendung von Elasticsearch? Besuchen Sie das Elastic Forum oder Slack. Ein anderes Community-Mitglied oder ein Elastic-Ingenieur hilft Ihnen gerne weiter.