Database ElasticSearch
ElaSticSearch è uno dei database NOSQL più popolari che viene utilizzato per archiviare e cercare dati basati sul testo. Si basa sulla tecnologia di indicizzazione Lucene e consente il recupero della ricerca in millisecondi in base ai dati indicizzati.
Basato sul sito Web di Elasticsearch, ecco la definizione:
ElasticSearch è un motore di ricerca e analisi distribuita open source in grado di risolvere un numero crescente di casi d'uso.
Quelle erano alcune parole di alto livello su Elasticsearch. Comprendiamo i concetti in dettaglio qui.
Scailing verticale e orizzontale
Introduzione al database Elasticsearch
Per iniziare a utilizzare ElaSticSearch, deve essere installato sulla macchina. Per fare questo, leggi Installa Elasticsearch su Ubuntu.
Assicurati di avere un'installazione di ElaSticSearch attiva se si desidera provare esempi che presentiamo più avanti nella lezione.
Elasticsearch: concetti e componenti
In questa sezione, vedremo quali componenti e concetti si trovano nel cuore di ElasticSearch. La comprensione di questi concetti è importante per capire come funziona ES:
A causa del concetto di ridimensionamento orizzontale, possiamo praticamente aggiungere un numero infinito di nodi in un cluster ES per dargli molta più forza e capacità di indicizzazione.
Si noti che i tipi sono deprecati da ES V6.0.0 in poi. Leggi qui perché è stato fatto.
Tipi di ricerca in Elasticsearch
Elasticsearch è nota per le sue capacità di ricerca quasi in tempo reale e le flessibilità che fornisce il tipo di dati indicizzati e cercati. Cominciamo a studiare come utilizzare la ricerca con vari tipi di dati.
Una query di corrispondenza troverà tutti e tre i documenti quando viene cercato Colpo a sfera. Una ricerca di prossimità può dirci fino a che punto queste due parole appaiono nella stessa linea o paragrafo a causa della quale abbinati.
Query SQL: corrispondenza parziale
Dove nome come "%John%"
E nome come "%rosso%"
E nome come "%giardino%"
In alcune occasioni, dobbiamo solo eseguire query parziali di partite anche quando possono essere considerate come tecniche di forza bruta.
Integrazione con Kibana
Quando si tratta di un motore di analisi, di solito dobbiamo eseguire query di analisi in un dominio Business-Intelligence (BI). Quando si tratta di analisti aziendali o analisti di dati, non sarebbe giusto supporre che le persone conoscano un linguaggio di programmazione quando vogliono visualizzare i dati presenti nel cluster ES. Questo problema è risolto da Kibana.
Kibana offre così tanti vantaggi a BI che le persone possono effettivamente visualizzare i dati con un dashboard eccellente e personalizzabile e vedere i dati in modo ineguagliabile. Diamo un'occhiata ad alcuni dei suoi vantaggi qui.
Grafici interattivi
Al centro di Kibana c'è grafici interattivi come questi:
Kibana viene supportato con vari tipi di grafici come grafici a torta, raggi di sole, istogrammi e molto altro che utilizzano le capacità di aggregazione complete di ES.
Supporto di mappatura
Kibana supporta anche la completa geo-aggregazione che ci consente di geo-map i nostri dati. Non è fantastico?!
Aggregazioni e filtri pre-costruiti
Con aggregazioni e filtri pre-costruiti, è possibile letteralmente frammento, rilasciare e eseguire query altamente ottimizzate all'interno del dashboard di Kibana. Con pochi clic, è possibile eseguire query aggregate e presentare risultati sotto forma di grafici interattivi.
Facile distribuzione di dashboard
Con Kibana, è anche molto facile condividere dashboard su un pubblico molto più ampio senza fare modifiche alla dashboard con l'aiuto della modalità Dashboard. Possiamo facilmente inserire dashboard nella nostra wiki o pagine Web interne.
Pagina del prodotto Kibana Immagini prese in forma.
Utilizzo di ElasticSearch
Per visualizzare i dettagli dell'istanza e le informazioni del cluster, eseguire il comando seguente:
Ora, possiamo provare a inserire alcuni dati in ES utilizzando il seguente comando:
Inserire dati
arricciarsi \
-X Post 'http: // localhost: 9200/linuxhint/hello/1' \
-H 'Content-Type: Application /Json' \
-d '"nome": "linuxhint"' \
Ecco cosa torniamo con questo comando:
Proviamo ora a ottenere i dati:
Ottenere dati
Curl -x Get 'http: // localhost: 9200/linuxhint/hello/1'
Quando eseguiamo questo comando, otteniamo il seguente output:
Conclusione
In questa lezione, abbiamo esaminato come possiamo iniziare a utilizzare ElaSticSearch che è un eccellente motore di analisi e fornisce un eccellente supporto per la ricerca quasi in tempo reale in tempo libero.