Elasticsearch -database
Elasticsearch er en av de mest populære NoSQL-databasene som brukes til å lagre og søke etter tekstbaserte data. Det er basert på Lucene -indekseringsteknologien og gir mulighet for henting i millisekunder basert på data som er indeksert.
Basert på elasticsearch nettsted, her er definisjonen:
Elasticsearch er en åpen kildekode distribuert, avslappet søk og analysemotor som er i stand til å løse et økende antall brukssaker.
Det var noen ord på høyt nivå om Elasticsearch. La oss forstå konseptene i detalj her.
Vertikal og horisontal scailing
Komme i gang med Elasticsearch -databasen
For å begynne å bruke Elasticsearch, må den installeres på maskinen. For å gjøre dette, les install Elasticsearch på Ubuntu.
Forsikre deg om at du har en aktiv Elasticsearch -installasjon hvis du vil prøve eksempler vi presenterer senere i leksjonen.
Elasticsearch: konsepter og komponenter
I dette avsnittet vil vi se hvilke komponenter og konsepter som ligger i hjertet av Elasticsearch. Å forstå om disse konseptene er viktig for å forstå hvordan ES fungerer:
På grunn av begrepet horisontal skalering, kan vi praktisk talt legge til et uendelig antall noder i en ES -klynge for å gi det mye mer styrke og indekseringsevner.
Merk at typer er utdatert fra ES V6.0.0 og utover. Les her hvorfor dette ble gjort.
Typer søk i Elasticsearch
Elasticsearch er kjent for sine nærmeste sanntids søkefunksjoner og fleksibiliteter den gir med hvilken type data som blir indeksert og søkte. La oss begynne å studere hvordan du bruker søk med forskjellige typer data.
En match -spørring vil finne alle tre dokumentene når de er søkt etter Ball hit. Et nærhetssøk kan fortelle oss hvor langt disse to ordene vises i samme linje eller avsnitt på grunn av at de matchet.
SQL -spørsmål: Delvis matching
Hvor navn som "%John%"
Og navn som "%rød%"
Og navn som "%hage%"
Ved noen anledninger trenger vi bare å kjøre delvise match-spørsmål selv når de kan betraktes som brute-force-teknikker.
Integrasjon med Kibana
Når det gjelder en analysemotor, må vi vanligvis kjøre analysespørsmål i et forretningsintelligens (BI) -domen. Når det gjelder forretningsanalytikere eller dataanalytikere, ville det ikke være rettferdig å anta at folk kjenner et programmeringsspråk når de vil visualisere data som er til stede i ES -klyngen. Dette problemet løses av Kibana.
Kibana tilbyr så mange fordeler for BI at folk faktisk kan visualisere data med et utmerket, tilpassbart dashbord og se data inetraktivt. La oss se på noen av fordelene her.
Interaktive diagrammer
Kjernen i Kibana er interaktive diagrammer som disse:
Kibana kommer støttet med forskjellige typer diagrammer som kakediagrammer, solbrenner, histogrammer og mye mer som bruker de komplette aggregeringsmulighetene til ES.
Kartlegging av støtte
Kibana støtter også fullstendig geo-aggregering som lar oss geo-kartlegge dataene våre. Er ikke dette kult?!
Forhåndsbygde aggregeringer og filtre
Med forhåndsbygde aggregeringer og filtre er det mulig å bokstavelig talt fragne, slippe og løpe svært optimaliserte spørsmål i Kibana-dashbordet. Med bare noen få klikk er det mulig å kjøre aggregerte spørsmål og presentere resultater i form av interaktive diagrammer.
Enkel distribusjon av dashbord
Med Kibana er det også veldig enkelt å dele dashbord til et mye bredere publikum uten å gjøre noen endringer i dashbordet ved hjelp av bare dashbord -modus. Vi kan enkelt sette inn dashbord i vår interne wiki eller websider.
Funksjonsbilder tatt skjema Kibana produktside.
Bruke Elasticsearch
For å se forekomstdetaljer og klyngeinformasjon, kjør følgende kommando:
Nå kan vi prøve å sette inn noen data i ES ved å bruke følgende kommando:
Sette inn data
krøll \
-X POST 'http: // localhost: 9200/linuxhint/hallo/1' \
-H 'innholdstype: applikasjon /json' \
-d '"name": "linuxhint"' \
Dette er hva vi kommer tilbake med denne kommandoen:
La oss prøve å få dataene nå:
Få data
Curl -x Get 'http: // localhost: 9200/linuxhint/hallo/1'
Når vi kjører denne kommandoen, får vi følgende utdata:
Konklusjon
I denne leksjonen så vi på hvordan vi kan begynne å bruke Elasticsearch, som også er en utmerket analysemotor og gir utmerket støtte for nær sanntids gratis-tekst-søk også.