Cliente Elasticsearch para Java: guia completo de conexão e operação

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Cliente Elasticsearch para Java: guia completo



Elasticsearch é um poderoso sistema de busca e análise distribuído baseado em Lucene. Para interagir com ele a partir de aplicações Java, existe um cliente oficial que fornece uma API conveniente para indexação, busca e gerenciamento de dados. Neste artigo, abordaremos detalhadamente a instalação, configuração e principais recursos do cliente Java Elasticsearch, além de fornecer exemplos práticos de código.



O que é o cliente Java Elasticsearch?

O cliente Java Elasticsearch é uma biblioteca oficial projetada para interagir com um cluster Elasticsearch a partir de aplicações Java. Ele suporta duas abordagens principais:

  • Low-level REST Client — cliente de baixo nível que trabalha diretamente com requisições HTTP. Oferece controle total, mas exige formatação manual de JSON.
  • High-level REST Client — wrapper de alto nível que fornece uma API orientada a objetos para operações típicas (indexação, busca, atualização). Recomendado para a maioria dos projetos.

A partir do Elasticsearch 7.0, recomenda-se o uso do High-level REST Client, pois é mais conveniente e seguro.



Instalação e conexão

Para conectar o cliente a um projeto Java (Maven), adicione a seguinte dependência ao arquivo pom.xml:

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


Se você usa Gradle, adicione a linha:

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


Após adicionar a dependência, crie uma instância do cliente:

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")) ); // Seu código de trabalho com Elasticsearch try { client.close(); } catch (IOException e) { e.printStackTrace(); } }}


Operações principais com o cliente



Criação de índice

Antes de começar a trabalhar com dados, é necessário criar um índice (análogo a um banco de dados em SQL). Exemplo:

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("Índice criado: " + response.isAcknowledged());}


Indexação de documento

Documentos no Elasticsearch são objetos JSON. Para adicionar um documento, use 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", "Cliente Elasticsearch para Java"); jsonMap.put("content", "Descrição detalhada de como trabalhar com Elasticsearch a partir do Java."); jsonMap.put("views", 150);

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

IndexResponse respon

Recommendations