Pular para o conteúdo

Exemplos de Uso do Elasticsearch

O Elasticsearch é um mecanismo de busca e análise distribuído, amplamente utilizado para indexação, pesquisa e análise de grandes volumes de dados. Ele é baseado no Apache Lucene e é frequentemente utilizado em aplicações como busca textual, monitoramento de logs e análise de dados em tempo real.

1. Instalação e Configuração Básica

Antes de utilizarmos o Elasticsearch, é necessário instalá-lo. Em sistemas baseados em Linux, podemos utilizar o seguinte comando para instalá-lo via pacote Debian:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.0.0-amd64.deb
sudo dpkg -i elasticsearch-8.0.0-amd64.deb
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

Após a instalação, o Elasticsearch estará disponível na porta 9200 por padrão.

2. Indexação de Dados

Para armazenar dados no Elasticsearch, utilizamos documentos JSON. Vamos criar um índice chamado “clientes” e adicionar um documento a ele:

curl -X POST "localhost:9200/clientes/_doc/1" -H "Content-Type: application/json" -d'
{
  "nome": "João da Silva",
  "idade": 30,
  "cidade": "São Paulo"
}'

Se o comando for bem-sucedido, o Elasticsearch responderá com um JSON confirmando a indexação.

3. Consulta Básica

Para buscar os dados armazenados, utilizamos a API de busca do Elasticsearch:

curl -X GET "localhost:9200/clientes/_doc/1"

Isso retornará o documento previamente armazenado.

4. Pesquisa Avançada

Podemos realizar buscas mais sofisticadas usando a linguagem de consulta do Elasticsearch. O exemplo abaixo busca clientes com o nome “João”:

curl -X GET "localhost:9200/clientes/_search" -H "Content-Type: application/json" -d'
{
  "query": {
    "match": {
      "nome": "João"
    }
  }
}'

O Elasticsearch irá retornar todos os documentos que contêm “João” no campo “nome”.

5. Agregação de Dados

O Elasticsearch permite a agregação de dados, como contar quantos clientes existem em cada cidade:

curl -X GET "localhost:9200/clientes/_search" -H "Content-Type: application/json" -d'
{
  "size": 0,
  "aggs": {
    "clientes_por_cidade": {
      "terms": {
        "field": "cidade.keyword"
      }
    }
  }
}'

Isso retornará um agrupamento com a quantidade de clientes por cidade.

6. Monitoramento de Logs

O Elasticsearch é amplamente usado para monitoramento de logs. Combinado com o Logstash e o Kibana, é possível criar dashboards e analisar logs de servidores em tempo real.

Exemplo de um documento de log indexado no Elasticsearch:

curl -X POST "localhost:9200/logs/_doc" -H "Content-Type: application/json" -d'
{
  "timestamp": "2025-02-15T10:00:00",
  "level": "ERROR",
  "message": "Falha ao conectar ao banco de dados",
  "service": "backend"
}'

Conclusão

O Elasticsearch é uma ferramenta poderosa para busca e análise de dados. Ele pode ser utilizado para indexação de textos, monitoramento de logs e análise de grandes volumes de informação de forma eficiente. Com sua escalabilidade e integração com outras ferramentas como Logstash e Kibana, ele se tornou essencial para diversas aplicações empresariais e sistemas de busca.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *