Fornisce un'API REST semplice e potente per eseguire una raccolta di attività dalla creazione di documenti, monitoraggio della salute dei cluster e altro ancora.
Python è uno dei linguaggi di programmazione più popolari e tende a integrare molto bene ElasticSearch.
In questa guida, esamineremo come eseguire l'uso del client Python di Elasticsearch per interagire con il cluster di ElasticSearch.
Configurazione dell'ambiente
Prima di collegare il client Python di Elasticsearch, è bene assicurarsi di configurare l'ambiente.
Passaggio 1: installazione di elasticiarch
Il primo passo è installare e impostare il cluster Elastisearch sul nostro sistema. In questa guida, useremo un server Ubuntu.
Inizia aggiornando i tuoi repository:
Sudo Apt-get Installa Aggiornamento
Importa la chiave PGP Elasticsearch.
Wget -qo - https: // artefatti.elastico.CO/GPG-KEY-ELASTICEARCH | sudo Apt-Key Aggiungi -
Installa il pacchetto Apt-Transport-Https richiesto:
sudo apt-get installa apt-transport-https
Salva il repository.
Echo "Deb https: // artefatti.elastico.CO/Pacchetti/7.X/APT stabile principale "| sudo tee/etc/apt/fonti.elenco.d/elastic-7.X.elenco
Aggiorna e installa ElaSticSearch
Sudo Apt Aggiornamento
SUDO APT Installa Elasticsearch
Abilita e avvia il servizio:
sudo /bin /systemctl abilita elasticsearch.servizio
sudo systemctl avvia elasticsearch.servizio
Una volta che il servizio è attivo e funzionante, eseguire un ricciolo sull'endpoint di Elasticsearch:
Curl http: // localhost: 9200
Se il servizio è in esecuzione, dovresti vedere un output come mostrato di seguito:
"Nome": "Ubuntu2004",
"cluster_name": "Elasticsearch",
"cluster_uuid": "luk9qsqtsasfzxmsyxqdyg",
"Versione":
"numero": "7.15.0 ",
"build_flavor": "predefinito",
"build_type": "Deb",
"build_hash": "79d65f6e357953a5b3cbcc5e2c7c21073d89aa29",
"build_date": "2021-09-16t03: 05: 29.143308416Z ",
"build_snapshot": false,
"Lucene_Version": "8.9.0 ",
"MINIMINE_WIRE_COMPATILIBILITÀ_VERSION": 6.8.0 ",
"MINIMINE_INDEX_COMPATILIBILITÀ_VERSION": "6.0.0-beta1 "
,
"Slogan": "Sai, per la ricerca"
Passaggio 2: installazione di Python
Il prossimo passo è installare Python. Su Ubuntu/Debian, apri il terminale e inserisci il comando di seguito per confermare la versione Python installata:
Python -Version
Se hai installato Python 3, dovresti vedere un'uscita simile a quella mostrata di seguito:
Python 3.10.0
In caso contrario, installa Python 3 usando il comando:
sudo apt-get installa python3.10
Passaggio 3: installazione del client Elasticsearch
Il passaggio finale è l'installazione del client ElasticSearch. Possiamo farlo usando l'utilità PIP come:
Inizia installando PIP come:
sudo apt-get installa python3-pip
Infine, installa il client Elasticsearch come:
PIP3 Installa ElaSticSearch
Collegamento del client Elasticsearch
Una volta che il nostro ambiente è impostato e configurato, possiamo interagire con Elastic utilizzando il client ElasticSearch.
Inizia creando un file Python.
toccare elastico.Py
Vim Elastic.Py
Assicurarsi che il cluster sia attivo e funzionante
Prima di interagire con il cluster ElasticSearch, assicurarsi che il servizio sia attivo e in esecuzione utilizzando il modulo richieste.
richieste di importazione
substring = "sai, per la ricerca".codificare()
risposta = richieste.get ("http: // 127.0.0.1: 9200 ")
Se la sottostringa in risposta.contenuto:
Stampa ("Elasticsearch è attivo e funzionante!")
altro:
stampa ("qualcosa è andato storto, assicurarsi che il cluster sia attivo!")
Salva ed esegui il file come:
Python Elastic.Py
Produzione:
Elasticsearch è attivo e funzionante!
Connettiti al cluster Elasticsearch
Per connetterci al cluster di Elasticsearch, possiamo implementare il seguente semplice script:
richieste di importazione
da Elasticsearch Import Elasticsearch
substring = "sai, per la ricerca".codificare()
risposta = richieste.get ("http: // 127.0.0.1: 9200 ")
Se la sottostringa in risposta.contenuto:
ES = ElaSticSearch (["host": "localhost", "port": 9200])
Ottieni documento con Python
Per ottenere un documento utilizzando il client Python, puoi fare:
res = es.get (index = "indice-name", id = 1)
print (res ['_ source'])
L'esempio sopra dovrebbe restituire i dettagli sul documento interrogato.
Indicizzare un documento
Per indicizzare un documento, utilizzare il codice:
da DateTime Import DateTime
da Elasticsearch Import Elasticsearch
ES = ElaSticSearch (["host": "localhost", "port": 9200])
doc =
"Autore": "Documento-autore",
"Testo": "un documento di testo",
"Timestamp": DateTime.Ora()
res = es.indice (indice = "campione-indice", id = 2, body = doc)
print (res ['risultato'])
Eliminazione di un documento
Per eliminare un documento:
res = es.delete (index = "indice-name", id = 1)
Chiusura
Questa guida discute su come impostare e utilizzare Elasticsearch con Python usando il cliente di Elasticseach Python.
Per imparare a utilizzare la piena funzionalità della Biblioteca Elasticsearch, considera la documentazione.