Det gir et enkelt og kraftig REST API for å utføre en samling oppgaver fra å lage dokumenter, overvåke klyngehelse og mer.
Python er et av de mest populære programmeringsspråkene, og det har en tendens til å utfylle Elasticsearch veldig bra.
I denne guiden vil vi se på hvordan du kan gjøre ved å bruke Elasticsearch Python -klienten for å samhandle med Elasticsearch Cluster.
Miljøoppsett
Før du kobler til Elasticsearch Python -klienten, er det bra å sikre at vi har miljøet konfigurert.
Trinn 1: Installere Elasticsearch
Det første trinnet er å installere og sette opp Elastisearch -klyngen på systemet vårt. I denne guiden vil vi bruke en Ubuntu -server.
Begynn med å oppdatere depotene dine:
sudo apt-get installer oppdatering
Importer Elasticsearch PGP -tasten.
WGET -QO - https: // gjenstander.elastisk.CO/GPG-Key-Elasticsearch | sudo apt-key add -
Installer påkrevd APT-Transport-HTTPS-pakke:
sudo apt-get installere apt-transport-https
Lagre depotet.
ekko "Deb https: // gjenstander.elastisk.CO/Pakker/7.X/Apt Stable Main "| sudo tee/etc/apt/kilder.liste.d/elastic-7.x.liste
Oppdater og installer Elasticsearch
sudo apt oppdatering
sudo apt installer elasticsearch
Aktiver og start tjenesten:
sudo /bin /SystemCTL Aktiver elasticsearch.service
sudo systemctl start elasticsearch.service
Når tjenesten er i gang, utfører du en krøll til Elasticsearch Endpoint:
Curl http: // localhost: 9200
Hvis tjenesten kjører, bør du se en utdata som vist nedenfor:
"Navn": "Ubuntu2004",
"Cluster_name": "Elasticsearch",
"cluster_uuid": "luk9qsqtsasfzxmsyxqdyg",
"Versjon":
"nummer": "7.15.0 ",
"build_flavor": "standard",
"build_type": "Deb",
"build_hash": "79d65f6e357953a5b3cbcc5e2c7c21073d89aa29",
"build_date": "2021-09-16T03: 05: 29.143308416z ",
"build_snapshot": falsk,
"Lucene_Version": "8.9.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-beta1 "
,
"Tagline": "Du vet, for søk"
Trinn 2: Installere Python
Neste trinn er å installere Python. På Ubuntu/Debian åpner du terminalen og skriver inn kommandoen nedenfor for å bekrefte den installerte Python -versjonen:
Python -Versjon
Hvis du har Python 3 installert, bør du se en utgang som ligner den som er vist nedenfor:
Python 3.10.0
Hvis ikke, installer Python 3 ved å bruke kommandoen:
sudo apt-get install python3.10
Trinn 3: Installere Elasticsearch Client
Det siste trinnet er å installere Elasticsearch -klienten. Vi kan gjøre dette ved å bruke PIP -verktøyet som:
Begynn med å installere Pip som:
sudo apt-get install python3-pip
Til slutt, installer Elasticsearch -klienten som:
PIP3 installer Elasticsearch
Koble til Elasticsearch -klienten
Når miljøet er satt opp og konfigurert, kan vi samhandle med Elastic ved hjelp av Elasticsearch -klienten.
Begynn med å lage en Python -fil.
berør elastisk.py
vim elastisk.py
Forsikre deg om at klyngen er i gang
Før du samhandler med Elasticsearch -klyngen, må du forsikre deg om at tjenesten er i gang med forespørselsmodulen.
Importer forespørsler
substring = "Du vet, for søk".kode ()
Svar = forespørsler.få ("http: // 127.0.0.1: 9200 ")
Hvis substring som svar.innhold:
trykk ("Elasticsearch er i gang!")
ellers:
trykk ("noe gikk galt, sørg for at klyngen er oppe!")
Lagre og kjør filen som:
Python Elastic.py
Produksjon:
Elasticsearch er i gang!
Koble til Elasticsearch Cluster
For å koble til Elasticsearch -klyngen, kan vi implementere følgende enkle skript:
Importer forespørsler
Fra Elasticsearch Import Elasticsearch
substring = "Du vet, for søk".kode ()
Svar = forespørsler.få ("http: // 127.0.0.1: 9200 ")
Hvis substring som svar.innhold:
ES = Elasticsearch (["Host": "LocalHost", "Port": 9200])
Få dokument med Python
For å få et dokument ved hjelp av Python -klienten, kan du gjøre:
res = es.få (indeks = "indeksnavn", id = 1)
trykk (res ['_ kilde'])
Eksemplet ovenfor skal returnere detaljer om det spurte dokumentet.
Indeksering av et dokument
For å indeksere et dokument, bruk koden:
fra DateTime Import DateTime
Fra Elasticsearch Import Elasticsearch
ES = Elasticsearch (["Host": "LocalHost", "Port": 9200])
doc =
"Forfatter": "Dokument-forfatter",
"Tekst": "Et tekstdokument",
"Timestamp": DateTime.nå()
res = es.indeks (indeks = "prøve-indeks", id = 2, body = doc)
trykk (res ['resultat'])
Slette et dokument
For å slette et dokument:
res = es.slett (index = "index-name", id = 1)
Lukking
Denne guiden diskuterer hvordan du konfigurerer og bruker Elasticsearch med Python ved hjelp av Elasticsach Python -klienten.
For å lære hvordan du bruker full funksjonalitet i Elasticsearch -biblioteket, bør du vurdere dokumentasjonen.