Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud
Intervento di Marco Cristofanilli al SIDcamp 12-‐giugno-‐2015
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
ABOUT ME
Marco Cristofanilli Sysadmin at Seeweb
Twitter @m4oc Github https://github.com/m4oc Linkedin: https://it.linkedin.com/in/marcocristofanilli
Cosa vedremo?
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
§ Importanza della ricerca § Cosa è ElasticSearch § Come funziona § Potenzialità § Integrazione con Drupal
La ricerca e la sua importanza
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
- L'utente si aspetta un’esperienza simile ai motori di ricerca di riferiemento (Google, Bing.. etc); - Pertinenza; - Velocità; - Il 30% degli utenti usa il motore di ricerca interno;
ELASTICSEARCH
ElasHcSearch
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
- Motore di ricerca fullx text - Real time - Distribuito - Scalabile - Cloud oriented - Schema free - Rest /Json api - Zero configuration
Chi sviluppa ElasHcSearch
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
Shay Banon
Prima versione nel 2010 http://thedudeabides.com/
Usato in produzione da:
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
INSTALLAZIONE
Installazione
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
$ wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.6.0.zip $ unzip elasticsearch-1.6.0.zip $ cd elasticsearch-1.6.0 $ ./bin/elasticsearch
Prerequisiti: Java
Now running
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
curl -X GET http://<IP>:9200 { "status" : 200, "name" : "Nodo 1", "cluster_name" : "sid", "version" : { "number" : "1.5.2", "build_hash" : "62ff9868b4c8a0c45860bebb259e21980778ab1c", "build_timestamp" : "2015-04-27T09:21:06Z", "build_snapshot" : false, "lucene_version" : "4.10.4" }, "tagline" : "You Know, for Search” }
ARCHITETTURA
ArchiteNura
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
- 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ù shardsi, è dove vengono immagazzinati i dati all'interno dei nodi; - il document rappresenta la porzione di dati strutturati da immagazzinare appartenenti a un singolo oggetto.
MetadaH
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
_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.
ArchiteNura
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
ArchiteNura /2
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
Ricerca
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
- filter DSL - query DSL = quanto è pertinente? (_score)
ELASTICSEARCH E DRUPAL
Integrazione con Drupal
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
Elasticsearch Connector
λ Elasticsearch Connector Easy Install module
λ Composer
Plugin e Demo
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
Head Plugin elasticsearch/bin/plugin -install mobz/elasticsearch-head http://localhost:9200/_plugin/head/
Plugin e Demo /2
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud
di Marco Cristofanilli