Elasticsearch-Client für Java: Vollständige Anleitung zur Verbindung und Arbeit

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Elasticsearch-Client für Java: Vollständige Anleitung



Elasticsearch ist ein leistungsstarkes verteiltes Such- und Analysesystem auf Basis von Lucene. Für die Interaktion aus Java-Anwendungen gibt es einen offiziellen Client, der eine praktische API für die Indizierung, Suche und Datenverwaltung bietet. In diesem Artikel gehen wir ausführlich auf die Installation, Konfiguration und die wichtigsten Funktionen des Elasticsearch Java-Clients ein und zeigen praktische Codebeispiele.



Was ist der Elasticsearch Java-Client?

Der Elasticsearch Java-Client ist eine offizielle Bibliothek für die Interaktion mit einem Elasticsearch-Cluster aus Java-Anwendungen. Er unterstützt zwei Hauptansätze:

  • Low-Level REST Client – ein Client auf niedriger Ebene, der direkt mit HTTP-Anfragen arbeitet. Bietet volle Kontrolle, erfordert aber manuelle JSON-Erstellung.
  • High-Level REST Client – ein High-Level-Wrapper, der eine objektorientierte API für typische Operationen (Indizierung, Suche, Aktualisierung) bereitstellt. Für die meisten Projekte empfohlen.

Seit Elasticsearch 7.0 wird die Verwendung des High-Level REST Clients empfohlen, da er bequemer und sicherer ist.



Installation und Einbindung

Um den Client in ein Java-Projekt (Maven) einzubinden, fügen Sie die folgende Abhängigkeit in Ihre pom.xml ein:

<dependency>    <groupId>org.elasticsearch.client</groupId>    <artifactId>elasticsearch-rest-high-level-client</artifactId>    <version>7.17.0</version></dependency>


Wenn Sie Gradle verwenden, fügen Sie diese Zeile hinzu:

implementation 'org.elasticsearch.client:elasticsearch-rest-high-level-client:7.17.0'


Nach dem Hinzufügen der Abhängigkeit erstellen Sie eine Instanz des Clients:

import org.elasticsearch.client.RestHighLevelClient;import org.elasticsearch.client.RestClient;import org.apache.http.HttpHost;

public class ElasticsearchClientExample { public static void main(String[] args) { RestHighLevelClient client = new RestHighLevelClient( RestClient.builder(new HttpHost("localhost", 9200, "http")) ); // Ihr Code für die Arbeit mit Elasticsearch try { client.close(); } catch (IOException e) { e.printStackTrace(); } }}


Grundlegende Operationen mit dem Client



Index erstellen

Bevor Sie mit Daten arbeiten, müssen Sie einen Index erstellen (vergleichbar mit einer Datenbank in SQL). Beispiel:

import org.elasticsearch.client.indices.CreateIndexRequest;import org.elasticsearch.client.indices.CreateIndexResponse;import org.elasticsearch.client.RequestOptions;

public void createIndex(RestHighLevelClient client, String indexName) throws IOException { CreateIndexRequest request = new CreateIndexRequest(indexName); CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT); System.out.println("Index erstellt: " + response.isAcknowledged());}


Dokument indizieren

Dokumente in Elasticsearch sind JSON-Objekte. Verwenden Sie zum Hinzufügen eines Dokuments IndexRequest:

import org.elasticsearch.action.index.IndexRequest;import org.elasticsearch.action.index.IndexResponse;import org.elasticsearch.common.xcontent.XContentType;import java.util.HashMap;import java.util.Map;

public void indexDocument(RestHighLevelClient client, String indexName) throws IOException { Map<String, Object> jsonMap = new HashMap<>(); jsonMap.put("title", "Elasticsearch-Client für Java"); jsonMap.put("content", "Detaillierte Beschreibung der Arbeit mit Elasticsearch aus Java."); jsonMap.put("views", 150);

IndexRequest request = new IndexRequest(indexName) .id("1") .source(jsonMap);

IndexResponse respon

Empfehlungen