En aquest tema, aprendrem com indexar dades a Elasticsearch. Indexar dades és el procés d'emmagatzemar documents en un índex perquè puguin ser cercats i recuperats eficientment. Aquest procés és fonamental per treballar amb Elasticsearch, ja que és la base de totes les operacions de cerca i anàlisi.

  1. Què és un Document?

Un document és la unitat bàsica d'informació que es pot indexar a Elasticsearch. Cada document és un objecte JSON que conté dades estructurades. Els documents es guarden dins d'índexs, que són col·leccions de documents amb característiques similars.

Exemple de Document JSON

{
  "title": "Elasticsearch: The Definitive Guide",
  "author": "Clinton Gormley",
  "published_date": "2015-02-07",
  "price": 39.99,
  "tags": ["elasticsearch", "search", "big data"]
}

  1. Crear un Índex

Abans de poder indexar documents, necessitem crear un índex. Un índex és una col·lecció de documents que tenen característiques similars. Per crear un índex, podem utilitzar una petició HTTP PUT.

Exemple de Creació d'un Índex

PUT /books

Aquest exemple crea un índex anomenat books.

  1. Indexar un Document

Per indexar un document, utilitzem una petició HTTP POST o PUT a l'índex desitjat. Si no especifiquem un identificador per al document, Elasticsearch en generarà un automàticament.

Exemple d'Indexació d'un Document

POST /books/_doc/
{
  "title": "Elasticsearch: The Definitive Guide",
  "author": "Clinton Gormley",
  "published_date": "2015-02-07",
  "price": 39.99,
  "tags": ["elasticsearch", "search", "big data"]
}

Aquest exemple indexa un document al nostre índex books.

  1. Obtenir un Document

Per obtenir un document específic, utilitzem una petició HTTP GET amb l'identificador del document.

Exemple d'Obtenció d'un Document

GET /books/_doc/1

Aquest exemple obté el document amb l'identificador 1 de l'índex books.

  1. Actualitzar un Document

Per actualitzar un document existent, utilitzem una petició HTTP POST o PUT amb l'identificador del document.

Exemple d'Actualització d'un Document

POST /books/_doc/1
{
  "doc": {
    "price": 29.99
  }
}

Aquest exemple actualitza el preu del document amb l'identificador 1 a 29.99.

  1. Eliminar un Document

Per eliminar un document, utilitzem una petició HTTP DELETE amb l'identificador del document.

Exemple d'Eliminació d'un Document

DELETE /books/_doc/1

Aquest exemple elimina el document amb l'identificador 1 de l'índex books.

Exercicis Pràctics

Exercici 1: Crear i Indexar un Document

  1. Crea un índex anomenat library.
  2. Indexa un document amb les següents dades:
    • title: "Learning Elasticsearch"
    • author: "John Doe"
    • published_date: "2020-01-15"
    • price: 45.00
    • tags: ["elasticsearch", "learning"]

Solució

PUT /library

POST /library/_doc/
{
  "title": "Learning Elasticsearch",
  "author": "John Doe",
  "published_date": "2020-01-15",
  "price": 45.00,
  "tags": ["elasticsearch", "learning"]
}

Exercici 2: Obtenir i Actualitzar un Document

  1. Obté el document que acabes d'indexar.
  2. Actualitza el preu del document a 40.00.

Solució

GET /library/_doc/1

POST /library/_doc/1
{
  "doc": {
    "price": 40.00
  }
}

Exercici 3: Eliminar un Document

  1. Elimina el document que acabes d'actualitzar.

Solució

DELETE /library/_doc/1

Conclusió

En aquesta secció, hem après com indexar dades a Elasticsearch, incloent la creació d'índexs, l'indexació de documents, l'obtenció, l'actualització i l'eliminació de documents. Aquests són els fonaments per treballar amb Elasticsearch i ens preparen per a les operacions de cerca i anàlisi que veurem en els següents temes.

© Copyright 2024. Tots els drets reservats