Proporciona una API REST simple y poderosa para realizar una colección de tareas desde la creación de documentos, monitorear la salud del clúster y más.
Python es uno de los lenguajes de programación más populares, y tiende a complementar muy bien a Elasticsearch.
En esta guía, veremos cómo usar el cliente de Elasticsearch Python para interactuar con el clúster Elasticsearch.
Configuración del medio ambiente
Antes de conectar el cliente de Elasticsearch Python, es bueno asegurarse de que tengamos el entorno configurado.
Paso 1: Instalación de ElasticSearch
El primer paso es instalar y configurar el clúster ElastISearch en nuestro sistema. En esta guía, usaremos un servidor Ubuntu.
Comience por actualizar sus repositorios:
actualización de instalación de sudo apt-get
Importar la clave PGP de ElasticSearch.
wget -qo - https: // artefactos.elástico.CO/GPG-Key-ElasticSearch | sudo apt-key agregar -
Instale el paquete apt-transport-https requerido:
sudo apt-get install apt-transport-https
Guardar el repositorio.
echo "Deb https: // artefactos.elástico.CO/paquetes/7.x/apt estable main "| sudo tee/etc/apt/fuentes.lista.D/elástico-7.X.lista
Actualizar e instalar Elasticsearch
Actualización de sudo apto
sudo apt install elasticsearch
Habilitar e iniciar el servicio:
sudo /bin /systemctl habilitar elasticsearch.servicio
sudo systemctl start elasticsearch.servicio
Una vez que el servicio esté en funcionamiento, realice un rizo al punto final de ElasticSearch:
curl http: // localhost: 9200
Si el servicio se está ejecutando, debe ver una salida como se muestra a continuación:
"Nombre": "Ubuntu2004",
"cluster_name": "elasticsearch",
"cluster_uuid": "Luk9qsqtsasfzxmsyxqdyg",
"versión" :
"numero 7.15.0 ",
"build_flavor": "predeterminado",
"build_type": "deb",
"Build_hash": "79D65F6E357953A5B3CBCC5E2C7C21073D89AA29",
"build_date": "2021-09-16T03: 05: 29.143308416Z ",
"build_snapshot": falso,
"Lucene_version": "8.9.0 ",
"Minimum_Wire_Compatibility_Version": "6.8.0 ",
"Minimum_index_Compatibility_Version": "6.0.0-beta1 "
,
"Lema": "Ya sabes, para la búsqueda"
Paso 2: Instalación de Python
El siguiente paso es instalar Python. En Ubuntu/Debian, abra el terminal e ingrese el comando a continuación para confirmar la versión de Python instalada:
Python -Versión
Si tiene instalado Python 3, debería ver una salida similar a la que se muestra a continuación:
Python 3.10.0
Si no, instale Python 3 usando el comando:
sudo apt-get install python3.10
Paso 3: Instalación del cliente Elasticsearch
El paso final es instalar el cliente Elasticsearch. Podemos hacer esto usando la utilidad PIP como:
Comience por instalar PIP como:
sudo apt-get install python3-pip
Finalmente, instale Elasticsearch Client como:
PIP3 Instalar Elasticsearch
Conectando el cliente Elasticsearch
Una vez que nuestro entorno está configurado y configurado, podemos interactuar con Elastic utilizando el cliente Elasticsearch.
Comience creando un archivo de Python.
toque elástico.py
vim elástico.py
Asegúrese de que el clúster esté en funcionamiento
Antes de interactuar con el clúster Elasticsearch, asegúrese de que el servicio esté en funcionamiento utilizando el módulo de solicitudes.
Solicitudes de importación
subString = "Ya sabes, para la búsqueda".codificar()
respuesta = solicitudes.Get ("http: // 127.0.0.1: 9200 ")
Si la subcadena en respuesta.contenido:
imprimir ("Elasticsearch está en funcionamiento!")
demás:
Imprimir ("Algo salió mal, asegúrese de que el clúster esté arriba!")
Guardar y ejecutar el archivo como:
Python elástico.py
Producción:
Elasticsearch está en funcionamiento!
Conéctese al clúster Elasticsearch
Para conectarse al clúster Elasticsearch, podemos implementar el siguiente script simple:
Solicitudes de importación
de Elasticsearch import elasticsearch
subString = "Ya sabes, para la búsqueda".codificar()
respuesta = solicitudes.Get ("http: // 127.0.0.1: 9200 ")
Si la subcadena en respuesta.contenido:
es = Elasticsearch (["host": "localhost", "puerto": 9200])
Obtener documento con Python
Para obtener un documento usando el cliente Python, puede hacer:
res = es.get (index = "index-name", id = 1)
print (res ['_ fuente'])
El ejemplo anterior debe devolver detalles sobre el documento consultado.
Indexar un documento
Para indexar un documento, use el código:
desde la importación de fecha y hora de fecha y hora
de Elasticsearch import elasticsearch
es = Elasticsearch (["host": "localhost", "puerto": 9200])
doc =
"Autor": "Autor del documento",
"Texto": "Un documento de texto",
"Marca de tiempo": DateTime.ahora()
res = es.índice (index = "Sample-Index", ID = 2, Body = DOC)
imprimir (res ['resultado'])
Eliminar un documento
Para eliminar un documento:
res = es.delete (index = "índice-name", id = 1)
Clausura
Esta guía analiza cómo configurar y usar Elasticsearch con Python usando el cliente de Elasticseach Python.
Para aprender a utilizar la funcionalidad completa de la Biblioteca Elasticsearch, considere la documentación.