Como faço para usar o Elasticsearch em Python?

Como faço para usar o Elasticsearch em Python?
Elasticsearch é um mecanismo de pesquisa e análise de código aberto e de código aberto, construído no projeto Apache Lucene. Elasticsearch armazena seus dados no formato JSON, facilitando o uso.

Ele fornece uma API de descanso simples e poderosa para executar uma coleção de tarefas da criação de documentos, monitorando a saúde do cluster e mais.

O Python é uma das linguagens de programação mais populares, e tende a complementar o Elasticsearch muito bem.

Neste guia, veremos como usar o cliente Elasticsearch Python para interagir com o Elasticsearch Cluster.

Configuração do ambiente

Antes de conectar o cliente Python Elasticsearch, é bom garantir que tenhamos o ambiente configurado.

Etapa 1: Instalando o Elasticsearch

O primeiro passo é instalar e configurar o cluster ElastisEarch em nosso sistema. Neste guia, usaremos um servidor Ubuntu.

Comece atualizando seus repositórios:

Atualização de instalação de sudo apt-get

Importar a chave PGP Elasticsearch.

wget -qo - https: // artefatos.elástico.Pesquisa de co/gpg-key-elástica | Sudo Apt-Key Add -

Instale o pacote APT-Transport-Https necessário:

sudo apt-get install apt-transport-https

Salve o repositório.

eco "Deb https: // artefatos.elástico.Co/Pacotes/7.x/apt estável main "| sudo tee/etc/apt/fontes.lista.d/elástico-7.x.lista

Atualize e instale o Elasticsearch

Atualização do sudo apt
Sudo Apt Install Elasticsearch

Ativar e iniciar o serviço:

sudo /bin /systemctl atable Elasticsearch.serviço
SUDO SystemCtl Elasticsearch.serviço

Depois que o serviço estiver em funcionamento, faça um cacho no terminal Elasticsearch:

Curl http: // localhost: 9200

Se o serviço estiver em execução, você deverá ver uma saída como mostrado abaixo:


"Nome": "Ubuntu2004",
"Cluster_name": "Elasticsearch",
"cluster_uuid": "Luk9qsqtsAsfzxmsyxqdyg",
"versão":
"Número": "7.15.0 ",
"Build_flavor": "Padrão",
"Build_type": "Deb",
"Build_hash": "79D65F6E357953A5B3CBCC5E2C7C21073D89AA29",
"Build_date": "2021-09-16T03: 05: 29.143308416Z ",
"build_snapshot": false,
"Lucene_version": "8.9.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"Minimum_index_compatibility_version": "6.0.0-BETA1 "
,
"slogan": "você sabe, para pesquisa"

Etapa 2: Instalando o Python

O próximo passo é instalar o python. No Ubuntu/Debian, abra o terminal e digite o comando abaixo para confirmar a versão Python instalada:

Python -Versão

Se você tem o Python 3 instalado, verá uma saída semelhante à mostrada abaixo:

Python 3.10.0

Caso contrário, instale o Python 3 usando o comando:

sudo apt-get install python3.10

Etapa 3: Instalando o Elasticsearch Client

A etapa final é instalar o cliente Elasticsearch. Podemos fazer isso usando o utilitário pip como:

Comece instalando PIP como:

sudo apt-get install python3-pip

Por fim, instale o Elasticsearch Client como:

PIP3 Instale o Elasticsearch

Conectando o cliente Elasticsearch

Depois que nosso ambiente estiver configurado e configurado, podemos interagir com o Elastic usando o cliente Elasticsearch.

Comece criando um arquivo python.

Toque em elástico.py
elástico vim.py

Verifique se o cluster está em funcionamento

Antes de interagir com o cluster Elasticsearch, verifique se o serviço está em funcionamento usando o módulo de solicitações.

solicitações de importação
substring = "Você sabe, para pesquisa".codificar()
resposta = solicitações.Get ("http: // 127.0.0.1: 9200 ")
se substring em resposta.contente:
print ("Elasticsearch está em funcionamento!")
outro:
impressão ("Algo deu errado, verifique se o cluster está em alta!")

Salve e execute o arquivo como:

Elastic Python.py

Saída:

Elasticsearch está em funcionamento!

Conecte -se ao cluster Elasticsearch

Para se conectar ao cluster Elasticsearch, podemos implementar o seguinte script simples:

solicitações de importação
De Elasticsearch Import Elasticsearch
substring = "Você sabe, para pesquisa".codificar()
resposta = solicitações.Get ("http: // 127.0.0.1: 9200 ")
se substring em resposta.contente:
es = elasticsearch (["host": "localhost", "port": 9200])

Obtenha documento com Python

Para obter um documento usando o cliente Python, você pode fazer:

res = es.get (index = "índice-name", id = 1)
print (res ['_ fonte'])

O exemplo acima deve retornar detalhes sobre o documento consultado.

Indexando um documento

Para indexar um documento, use o código:

Do DateTime Import DateTime
De Elasticsearch Import Elasticsearch
es = elasticsearch (["host": "localhost", "port": 9200])
doc =
"Autor": "Document-Author",
"Texto": "um documento de texto",
"Timestamp": DateTime.agora()

res = es.índice (index = "amostra-index", id = 2, corpo = doc)
Imprimir (res ['resultado'])

Excluindo um documento

Para excluir um documento:

res = es.delete (index = "índice-name", id = 1)

Fechamento

Este guia discute como configurar e usar o Elasticsearch com Python usando o cliente ElasticSeach Python.

Para aprender a utilizar a funcionalidade completa da biblioteca Elasticsearch, considere a documentação.