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.
- 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"] }
- 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
Aquest exemple crea un índex anomenat books
.
- 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
.
- 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
Aquest exemple obté el document amb l'identificador 1
de l'índex books
.
- 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
Aquest exemple actualitza el preu del document amb l'identificador 1
a 29.99
.
- Eliminar un Document
Per eliminar un document, utilitzem una petició HTTP DELETE
amb l'identificador del document.
Exemple d'Eliminació d'un Document
Aquest exemple elimina el document amb l'identificador 1
de l'índex books
.
Exercicis Pràctics
Exercici 1: Crear i Indexar un Document
- Crea un índex anomenat
library
. - Indexa un document amb les següents dades:
title
: "Learning Elasticsearch"author
: "John Doe"published_date
: "2020-01-15"price
: 45.00tags
: ["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
- Obté el document que acabes d'indexar.
- Actualitza el preu del document a
40.00
.
Solució
Exercici 3: Eliminar un Document
- Elimina el document que acabes d'actualitzar.
Solució
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.
Curs d'Elasticsearch
Mòdul 1: Introducció a Elasticsearch
- Què és Elasticsearch?
- Instal·lant Elasticsearch
- Conceptes Bàsics: Nodes, Clústers i Índexs
- Arquitectura d'Elasticsearch
Mòdul 2: Començant amb Elasticsearch
Mòdul 3: Tècniques Avançades de Cerca
Mòdul 4: Modelatge de Dades i Gestió d'Índexs
Mòdul 5: Rendiment i Escalabilitat
- Optimitzant el Rendiment de la Cerca
- Escalant Elasticsearch
- Monitorització i Manteniment
- Còpia de Seguretat i Restauració
Mòdul 6: Seguretat i Control d'Accés
- Assegurant Elasticsearch
- Autenticació i Autorització d'Usuaris
- Control d'Accés Basat en Rols
- Auditoria i Compliment
Mòdul 7: Integracions i Ecosistema
- Elasticsearch amb Logstash
- Elasticsearch amb Kibana
- Elasticsearch amb Beats
- Elasticsearch amb Altres Eines