Top Banner
Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud Intervento di Marco Cristofanilli al SIDcamp 12giugno2015 Ricerche performanti con ElasticSearch sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli
22

Ricerche performanti con ElasticSearch

Apr 16, 2017

Download

Software

seeweb
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ricerche performanti con ElasticSearch

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    

Page 2: Ricerche performanti con ElasticSearch

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    

Page 3: Ricerche performanti con ElasticSearch

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  

Page 4: Ricerche performanti con ElasticSearch

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;  

Page 5: Ricerche performanti con ElasticSearch

ELASTICSEARCH  

Page 6: Ricerche performanti con 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  

Page 7: Ricerche performanti con ElasticSearch

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/  

Page 8: Ricerche performanti con ElasticSearch

Usato  in  produzione  da:  

Ricerche performanti con ElasticSearch  sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli    

Page 9: Ricerche performanti con ElasticSearch

INSTALLAZIONE  

Page 10: Ricerche performanti con ElasticSearch

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  

Page 11: Ricerche performanti con ElasticSearch

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” }  

Page 12: Ricerche performanti con ElasticSearch

ARCHITETTURA  

Page 13: Ricerche performanti con ElasticSearch

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.  

Page 14: Ricerche performanti con ElasticSearch

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.  

Page 15: Ricerche performanti con ElasticSearch

ArchiteNura  

Ricerche performanti con ElasticSearch  sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli    

Page 16: Ricerche performanti con ElasticSearch

ArchiteNura  /2  

Ricerche performanti con ElasticSearch  sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli    

Page 17: Ricerche performanti con ElasticSearch

Ricerca  

Ricerche performanti con ElasticSearch  sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli    

- filter DSL    - query DSL = quanto è pertinente? (_score)  

Page 18: Ricerche performanti con ElasticSearch

ELASTICSEARCH  E  DRUPAL  

Page 19: Ricerche performanti con ElasticSearch

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  

Page 20: Ricerche performanti con ElasticSearch

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/  

Page 21: Ricerche performanti con ElasticSearch

Plugin  e  Demo  /2    

Ricerche performanti con ElasticSearch  sfruttando la potenza e la flessibilità del cloud di Marco Cristofanilli    

Page 22: Ricerche performanti con ElasticSearch

Ricerche performanti con ElasticSearch  sfruttando la potenza e la flessibilità del cloud

di Marco Cristofanilli