Introducció
En aquest tema, explorarem dos conceptes importants en la gestió d'índexs a Elasticsearch: els àlies i la reindexació. Els àlies permeten una major flexibilitat en la gestió dels índexs, mentre que la reindexació és una operació crucial per a la migració de dades i l'actualització d'esquemes.
Àlies
Què és un Àlies?
Un àlies és un nom alternatiu per a un o més índexs. Els àlies permeten referenciar índexs sense necessitat de conèixer el seu nom exacte, facilitant així la gestió i l'actualització dels índexs.
Beneficis dels Àlies
- Flexibilitat: Permeten canviar l'índex al qual apunta un àlies sense afectar les aplicacions que utilitzen aquest àlies.
- Gestió de Versions: Faciliten la gestió de versions d'índexs, permetent canviar fàcilment entre diferents versions.
- Operacions Atomiques: Les operacions de canvi d'àlies són atòmiques, garantint la consistència de les dades.
Creació d'un Àlies
Per crear un àlies, utilitzem l'API _aliases d'Elasticsearch. A continuació es mostra un exemple de com crear un àlies per a un índex existent:
Exemple Pràctic
Suposem que tenim un índex anomenat products_v1 i volem crear un àlies anomenat products_current:
POST /_aliases
{
"actions": [
{
"add": {
"index": "products_v1",
"alias": "products_current"
}
}
]
}Canvi d'Àlies
Per canviar l'índex al qual apunta un àlies, primer hem d'eliminar l'àlies existent i després afegir el nou:
POST /_aliases
{
"actions": [
{
"remove": {
"index": "products_v1",
"alias": "products_current"
}
},
{
"add": {
"index": "products_v2",
"alias": "products_current"
}
}
]
}Reindexació
Què és la Reindexació?
La reindexació és el procés de copiar dades d'un índex a un altre. És útil quan necessitem actualitzar l'esquema d'un índex o migrar dades a un nou índex.
Beneficis de la Reindexació
- Actualització d'Esquemes: Permet actualitzar l'esquema d'un índex sense perdre dades.
- Migració de Dades: Facilita la migració de dades entre índexs.
- Optimització: Permet optimitzar l'estructura de l'índex per a millorar el rendiment.
Reindexació Bàsica
Per reindexar dades, utilitzem l'API _reindex d'Elasticsearch. A continuació es mostra un exemple bàsic de reindexació:
Exemple Pràctic
Suposem que tenim un índex anomenat products_v1 i volem reindexar les dades a un nou índex anomenat products_v2:
Reindexació amb Transformació
Podem aplicar transformacions a les dades durant la reindexació utilitzant l'API _reindex amb un script:
POST /_reindex
{
"source": {
"index": "products_v1"
},
"dest": {
"index": "products_v2"
},
"script": {
"source": "ctx._source.price = ctx._source.price * 1.1",
"lang": "painless"
}
}Aquest script augmenta el preu de cada producte en un 10% durant la reindexació.
Exercicis Pràctics
Exercici 1: Creació d'un Àlies
- Crea un índex anomenat
test_index_v1. - Crea un àlies anomenat
test_currentque apunti atest_index_v1.
Solució
PUT /test_index_v1
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}
POST /_aliases
{
"actions": [
{
"add": {
"index": "test_index_v1",
"alias": "test_current"
}
}
]
}Exercici 2: Reindexació de Dades
- Crea un índex anomenat
test_index_v2. - Reindexa les dades de
test_index_v1atest_index_v2.
Solució
PUT /test_index_v2
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1
}
}
POST /_reindex
{
"source": {
"index": "test_index_v1"
},
"dest": {
"index": "test_index_v2"
}
}Conclusió
En aquesta secció, hem après sobre els àlies i la reindexació a Elasticsearch. Els àlies proporcionen una manera flexible de gestionar els índexs, mentre que la reindexació és essencial per a la migració de dades i l'actualització d'esquemes. Aquests conceptes són fonamentals per a la gestió eficient dels índexs a Elasticsearch.
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
