ElasticSearch: ricerche performanti

ElasticSearch ricerche performanti

Utilizzato per ricerche scalabili e in real time, ElasticSearch è il motore di ricerca più utilizzato negli ultimi mesi.

Semplice da installare e da utilizzare, è estremamente flessibile ed è stato sviluppato per essere implementato su architetture cloud. Le caratteristiche principali di ElasticSearch che, nel gennaio 2016, lo hanno reso il motore di ricerca più popolare sono sostanzialmente:

– Ricerca fullx text

– Rrisposte real time

– Distribuito e scalabile

– Cloud oriented

– Schema free

– API Restful /Json api

– Zero configuration

La prima cosa da fare è installare Java lanciando i seguenti comandi, il nostro consiglio è quello di utilizzare i repository webupd8team.

Per installare ElasticSearch possiamo utilizzare i repository ufficiali, andiamo ad inserirli con i comandi

Possiamo a questo punto installare il software

Una volta che ElasticSearch è installato possiamo inserirlo nei servizi all’ avvio con i seguenti comandi

Nativamente il software binda l’ip locale (127.0.0.1) se vogliamo che sia raggiungibile dall’ esterno possiamo configurare il binding dell’ ip pubblico nel file:

inserendo la direttiva

dove IP è il nostro ip pubblico, a questo punto non ci resta che avviare il servizio con il comando

Se tutto è andato buon fine possiamo aprire il nostro browser e connetterci alla porta 9200 del server, avremo una risposta rimile alla seguente che mostrerà lo stato del server e una serie di informazioni.

Prima di fare qualche esempio vogliamo riportarvi qualche accenno sull’architettura, questa è composta da:

– un cluster è un insieme di nodi che condividono i propri dati e il carico di lavoro;

– uno shard è l’unità di lavoro di basso livello che contiene una porzione dei dati;

– un indice è lo spazio logico, che indica uno o più shard, è dove vengono immagazzinati i dati all’interno dei nodi;

– il document rappresenta la porzione di dati  strutturati da immagazzinare appartenenti a un
singolo oggetto.

Ogni oggetto è strutturato con i seguenti metadati:

_index identifica univocamente la collezione di dati, assimilabile al database negli RDBMS;

_type rappresenta la classe alla quale l’oggetto JSON appartiene;

_id E’ una stringa che identifica insieme all’ _index e al _type univocamente il Document.

Facciamo adesso un piccolo esempio di utilizzo, utilizzeremo curl da riga di comando, è quindi un prerequisito averlo installato.

Andiamo ad inserire un oggetto con indice “seeweb”, di tipo “server” e id 1

La risposta che avremo sarà la seguente:

Possiamo a questo punto inserire tutti gli oggetti che ci interessano, e provare a cercarli, la ricerca è quindi il punto cruciale, una query di esempio è:

che cercherà tutti i server che hanno nel campo os la parola Linux.

Le modalità di ricerca sono molto vaste, ampie e personalizzabili, in questo articolo vogliamo stimolare il vostro interesse e non fare una guida di riferimento su questa tenologia; se deciderete di utilizzarla potrete approfondire le modalità di ricerca e trovare la soluzione migliore per le vostre esigenze.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Accedi

Registrati | Password dimenticata?