Introducció
Les plantilles d'índex a Elasticsearch permeten definir configuracions predeterminades per a nous índexs. Això és especialment útil per assegurar que tots els índexs creats segueixin un conjunt de regles i configuracions consistents, com ara mappings, configuracions d'anàlisi, i configuracions de settings.
Conceptes Clau
Què és una Plantilla d'Índex?
Una plantilla d'índex és una configuració predefinida que s'aplica automàticament a nous índexs que coincideixen amb un patró de nom especificat. Les plantilles poden incloure mappings, settings, i configuracions d'anàlisi.
Components d'una Plantilla d'Índex
- Patterns (Patrons): Defineixen els noms dels índexs als quals s'aplicarà la plantilla.
- Settings (Configuracions): Inclouen configuracions com el nombre de shards i rèpliques.
- Mappings (Mapeig): Defineixen l'estructura dels documents dins de l'índex.
- Aliases (Àlies): Permeten definir àlies per als índexs.
Creant una Plantilla d'Índex
Exemples Pràctics
Exemple 1: Plantilla Bàsica
PUT _template/my_template
{
"index_patterns": ["log-*"],
"settings": {
"number_of_shards": 1
},
"mappings": {
"properties": {
"timestamp": {
"type": "date"
},
"message": {
"type": "text"
}
}
}
}Explicació:
- index_patterns: Aquesta plantilla s'aplicarà a tots els índexs que comencin amb "log-".
- settings: Defineix que cada índex tindrà un shard.
- mappings: Defineix que els documents tindran un camp
timestampde tipusdatei un campmessagede tipustext.
Exemple 2: Plantilla amb Àlies
PUT _template/my_template_with_alias
{
"index_patterns": ["data-*"],
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
},
"mappings": {
"properties": {
"user": {
"type": "keyword"
},
"post_date": {
"type": "date"
},
"message": {
"type": "text"
}
}
},
"aliases": {
"current_data": {}
}
}Explicació:
- index_patterns: Aquesta plantilla s'aplicarà a tots els índexs que comencin amb "data-".
- settings: Defineix que cada índex tindrà 3 shards i 2 rèpliques.
- mappings: Defineix que els documents tindran camps
userde tipuskeyword,post_datede tipusdate, imessagede tipustext. - aliases: Assigna l'àlies
current_dataa tots els índexs que coincideixin amb el patró.
Exercicis Pràctics
Exercici 1: Crear una Plantilla d'Índex
Objectiu: Crear una plantilla d'índex que s'apliqui a tots els índexs que comencin amb "app-".
Requisits:
- Els índexs han de tenir 2 shards i 1 rèplica.
- Els documents han de tenir un camp
user_idde tipuskeywordi un campcreated_atde tipusdate.
Solució:
PUT _template/app_template
{
"index_patterns": ["app-*"],
"settings": {
"number_of_shards": 2,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"user_id": {
"type": "keyword"
},
"created_at": {
"type": "date"
}
}
}
}Exercici 2: Afegir un Àlies a una Plantilla d'Índex
Objectiu: Modificar la plantilla anterior per afegir un àlies app_data.
Solució:
PUT _template/app_template_with_alias
{
"index_patterns": ["app-*"],
"settings": {
"number_of_shards": 2,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"user_id": {
"type": "keyword"
},
"created_at": {
"type": "date"
}
}
},
"aliases": {
"app_data": {}
}
}Errors Comuns i Consells
Errors Comuns
- Patrons Incorrectes: Assegura't que els patrons de nom d'índex siguin correctes i no massa restrictius.
- Configuracions Incompatibles: Verifica que les configuracions de shards i rèpliques siguin adequades per al teu clúster.
Consells
- Utilitza Àlies: Els àlies són molt útils per gestionar índexs de manera més flexible.
- Prova les Plantilles: Abans d'implementar una plantilla en producció, prova-la en un entorn de desenvolupament.
Conclusió
Les plantilles d'índex són una eina poderosa per assegurar la consistència i l'eficiència en la creació de nous índexs a Elasticsearch. Amb una comprensió clara dels components i la sintaxi, pots crear plantilles que simplifiquin la gestió dels teus índexs i millorin el rendiment del teu clúster.
En el següent tema, explorarem els àlies i la reindexació, que et permetran gestionar els teus índexs de manera més dinàmica i flexible.
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
