ricerche performanti con elasticsearch

22
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

Upload: seeweb

Post on 16-Apr-2017

467 views

Category:

Software


6 download

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