Comment utiliser Elasticsearch dans Python?

Comment utiliser Elasticsearch dans Python?
Elasticsearch est un moteur de recherche et d'analyse gratuit et open-source et très disponible construit sur le projet Apache Lucene. Elasticsearch stocke ses données au format JSON, ce qui le rend très facile à utiliser.

Il fournit une API REST simple et puissante pour effectuer une collection de tâches à partir de la création de documents, de la surveillance de la santé des grappes, et plus.

Python est l'un des langages de programmation les plus populaires, et il a tendance à compléter très bien Elasticsearch.

Dans ce guide, nous examinerons comment utiliser le client Elasticsearch Python pour interagir avec le cluster Elasticsearch.

Configuration de l'environnement

Avant de connecter le client Elasticsearch Python, il est bon de s'assurer que l'environnement a configuré.

Étape 1: Installation d'Elasticsearch

La première étape consiste à installer et à configurer le cluster Elastissearch sur notre système. Dans ce guide, nous utiliserons un serveur Ubuntu.

Commencez par mettre à jour vos référentiels:

Mise à jour d'installation Sudo apt-get

Importer la clé PGP Elasticsearch.

wget -qo - https: // artefacts.élastique.Co / gpg-key-elasticsearch | sudo apt-key ajouter -

Installation du package APT-Transport-HTTPS requis:

sudo apt-get install apt-transport-https

Enregistrer le référentiel.

Echo "Deb https: // artefacts.élastique.CO / Packages / 7.X / APT STABLE MAIN "| TEE SUDO / ETC / APT / SOURCES.liste.d / élastique-7.X.liste

Mettre à jour et installer Elasticsearch

Mise à jour Sudo Apt
sudo apt installer elasticsearch

Activer et démarrer le service:

sudo / bin / systemctl activer elasticsearch.service
sudo systemctl démarrer elasticsearch.service

Une fois le service opérationnel, effectuez une boucle au point de terminaison Elasticsearch:

Curl http: // localhost: 9200

Si le service est en cours d'exécution, vous devriez voir une sortie comme indiqué ci-dessous:


"Nom": "Ubuntu2004",
"cluster_name": "elasticsearch",
"cluster_uuid": "LUK9QSQTASFZXMSYXQDYG",
"version" :
"Numéro": "7.15.0 ",
"build_flavor": "par défaut",
"build_type": "Deb",
"build_hash": "79d65f6e357953a5b3cbcc5e2c7c21073d89aa29",
"build_date": "2021-09-16T03: 05: 29.143308416Z ",
"build_snapshot": faux,
"Lucene_version": "8.9.0 ",
"minimum_wire_compatibilité_version": "6.8.0 ",
"minimum_index_compatibilité_version": "6.0.0-bêta1 "
,
"slogan": "Vous savez, pour la recherche"

Étape 2: Installation de Python

L'étape suivante consiste à installer Python. Sur Ubuntu / Debian, ouvrez le terminal et entrez la commande ci-dessous pour confirmer la version Python installée:

Python - Version

Si vous avez installé Python 3, vous devriez voir une sortie similaire à celle ci-dessous:

Python 3.dix.0

Sinon, installez Python 3 en utilisant la commande:

sudo apt-get install python3.dix

Étape 3: Installation du client Elasticsearch

La dernière étape consiste à installer le client Elasticsearch. Nous pouvons le faire en utilisant l'utilitaire PIP comme:

Commencez par installer PIP comme:

sudo apt-get install python3-pip

Enfin, installez le client ElasticSearch en tant que:

pip3 Installer Elasticsearch

Connexion du client Elasticsearch

Une fois notre environnement configuré et configuré, nous pouvons interagir avec Elastic en utilisant le client Elasticsearch.

Commencez par créer un fichier python.

toucher l'élastique.py
vim élastique.py

Assurez-vous que le cluster est opérationnel

Avant d'interagir avec le cluster Elasticsearch, assurez-vous que le service est opérationnel à l'aide du module Demandes.

Demandes d'importation
substring = "vous savez, pour la recherche".encoder()
réponse = demandes.get ("http: // 127.0.0.1: 9200 ")
Si le substrat en réponse.contenu:
imprimer ("Elasticsearch est opérationnel!")
autre:
Imprimer ("Quelque chose s'est mal passé, assurez-vous que le cluster est en place!")

Enregistrer et exécuter le fichier comme:

python élastique.py

Sortir:

Elasticsearch est opérationnel!

Connectez-vous au cluster Elasticsearch

Pour se connecter au cluster ElasticSearch, nous pouvons implémenter le script simple suivant:

Demandes d'importation
de Elasticsearch Import Elasticsearch
substring = "vous savez, pour la recherche".encoder()
réponse = demandes.get ("http: // 127.0.0.1: 9200 ")
Si le substrat en réponse.contenu:
es = elasticsearch (["hôte": "localhost", "port": 9200])

Obtenez un document avec Python

Pour obtenir un document en utilisant le client Python, vous pouvez faire:

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

L'exemple ci-dessus doit renvoyer les détails sur le document interrogé.

Indexation d'un document

Pour indexer un document, utilisez le code:

à partir de Datetime Import Datetime
de Elasticsearch Import Elasticsearch
es = elasticsearch (["hôte": "localhost", "port": 9200])
doc =
"Auteur": "Document-auteur",
"Texte": "Un document texte",
"horodat": datetime.maintenant()

res = es.index (index = "sampon-index", id = 2, body = doc)
imprimer (res ['result'])

Suppression d'un document

Pour supprimer un document:

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

Fermeture

Ce guide explique comment configurer et utiliser Elasticsearch avec Python en utilisant le client ElasticsEach Python.

Pour apprendre à utiliser la pleine fonctionnalité de la bibliothèque Elasticsearch, considérez la documentation.