Elasticsearch Esempio HelloWorld

ElasticSearch è un server di ricerca che permette di ricercare, analizzare e mostrare dati contenuti in documenti in formato JSON, con interrogazioni che avvengono quasi in tempo reale. Tutte le funzionalità sono esposte tramite interfaccia RESTful. Vediamo un breve esempio su ElasticSearch.

Indice

Terminologia ElasticSearch

Index: raccolta di documenti. E’ il posto in cui tutti i documenti sono già pronti per essere analizzati. E’ paragonabile al concetto di Database nei DB relazionali.

Type: è la categoria di documenti simili. Permette di raggruppare in un insieme documenti simili dello stesso tipo. Type è paragonabile al concetto di tabella nel modello relazionale.

Document: è un’istanza di un tipo. Un documento è simile a una riga in una tabella in uno schema relazionale. Ad esempio, supponiamo di avere un’applicazione di e-commerce. Si potrebbe avere un documento per prodotto o un documento per ordine.

Installazione

Scaricare ElasticSearch da:

https://www.elastic.co/downloads/elasticsearch

Estrarre il contenuto del file zip in una cartella:

Settare nella variabile di ambiente il path di ElasticSearch

C:\elasticsearch-7.10.0

Sotto Windows

selezionare configurazione -> Impostazioni di sistema avanzate

Da linea di comando avviare ElasticSearch

Accedere dal browser a ElasticSearch con http://localhost:9200/

Per interagire con ElasticSearch si deve utilizzare delle API basate su REST (protocollo JSON su HTTP):

GET: Per selezionare o leggere dati da ElasticSearch
POST: Per creare i dati su ElasticSearch
PUT: Per aggiornare i dati su ElasticSearch
DELETE: Per eliminare dati esistenti da ElasticSearch

ElasticSearch Operazioni CRUD

Esempio di uso ElasticSearch . Per invocare i metodi Rest avviare PostMan, o un software analogo.

post documento

Inserire un nuovo documento con /helloworld/posts/1001 con i seguenti dati di richiesta:

{
  "title": "Divina Commedia",
  "category":"Letteratura",
  "published_date":"19-11-1400",
  "author":"Dante Alighieri"
}

su postman diventa

L’id 1001 è la chiave primaria per identificare il documento inviato

Il JSon di risposta ci conferma che il documento è stato creato:

{
    "_index": "helloworld",
    "_type": "posts",
    "_id": "1001",
    "_version": 1,
    "result": "created",
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "_seq_no": 0,
    "_primary_term": 1
}

get documento

Per leggere i dati da ElasticSearch, aggiungere “_search” alla fine dell’URL dell’API GET

http://localhost:9200/helloworld/posts/_search

Nei risultati di ricerca appare il documento inserito precedentemente.

Get documento con parametri

Per usare i parametri di ricerca per query aggiungere “?q =:” nell’url

http://localhost:9200/helloworld/posts/_search?q=_id:1001

Update Documento

Aggiornare, ad esempio, il titolo con la seguente richiesta:

{
  "post_id" : "1001",
  "title": "La NUOVA Divina Commedia",
  "category":"Letteratura",
  "published_date":"19-11-1400",
  "author":"Dante Alighieri"
}

DELETE

Rimuovere un documento con _id = 1001

http://localhost:9200/helloworld/posts/_id=1001

Lascia un commento

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