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
timestamp
de tipusdate
i un campmessage
de 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
user
de tipuskeyword
,post_date
de tipusdate
, imessage
de tipustext
. - aliases: Assigna l'àlies
current_data
a 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_id
de tipuskeyword
i un campcreated_at
de 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