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

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

Embed Size (px)

Citation preview

Ricerche performanti con ElasticSearch

sfruttando la potenza e la flessibilità del cloud

1

About me

twitter: @m4ocgithub: https://github.com/m4oclinkedin: https://it.linkedin.com/in/marcocristofanilli

Marco CristofanilliSysadmin at Seeweb

Cosa vedremo? Importanza della ricerca Cosa è Elasticsearch Come funziona Potenzialità Integrazione con Drupal

La ricerca e la sua importanza

- 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- Motore di ricerca fullx text- Real time- Distribuito- Scalabile- Cloud oriented - Schema free- Rest /Json api- Zero configuration

Chi sviluppa ElasticsearchShay Banon

Prima versione nel 2010http://thedudeabides.com/

Usato in produzione da:

Installazione

$ 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

{ "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"}

curl -X GET http://<IP>:9200

Architettura- 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.

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

_typerappresenta la classe alla quale l'oggetto JSON appartiene;

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

Architettura

Architettura /2

Ricerca

- filter DSL

- query DSL = quanto è pertinente? (_score)

Integrazione con Drupal

Elasticsearch Connector Easy Install module

Composer

Elasticsearch Connector

Plugin e Demo Head Plugin

elasticsearch/bin/plugin -install mobz/elasticsearch-head

http://localhost:9200/_plugin/head/

Plugin e Demo /2

Approfondimenti

Logstash -> Collect, Enrich & Transport Data

Kibana -> Explore & Visualize Your Data

Grazie