¡Seguro! Aquí está la traducción de la explicación y ejemplos para Index y Mapping en Elasticsearch:
Index en Elasticsearch
Una Index entrada Elasticsearch es similar a una base de datos en los sistemas tradicionales de administración de bases de datos(DBMS). Almacena una colección de documentos relacionados. Cada uno Index normalmente corresponde a un tipo específico de datos en su aplicación. Por ejemplo, en una aplicación de comercio electrónico, puede crear una Index para almacenar información sobre productos, otra Index para almacenar información sobre usuarios y pedidos.
Cada Index entrada Elasticsearch se divide en fragmentos más pequeños para la distribución de datos. Un Shard es una pequeña parte de un Index, y cada Shard se puede almacenar en un nodo separado dentro de un Elasticsearch clúster. La división de datos en fragmentos optimiza el rendimiento de búsqueda y consulta y mejora la escalabilidad del sistema.
Por ejemplo, para crear un nuevo Index nombre products
en Elasticsearch, puede usar la API o herramientas de administración como Kibana para ejecutar el siguiente comando:
PUT /products
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
}
}
En el ejemplo anterior, hemos creado un Index products
con 3 shard
y 2 replica
de cada uno shard
para garantizar la disponibilidad y la copia de seguridad de los datos.
Mapping en Elasticsearch
Mapping es el proceso de definir cómo Elasticsearch se almacenan y procesan los datos dentro de un Index. Cuando agrega un nuevo documento a un correo electrónico Index, Elasticsearch se usa Mapping para determinar el tipo de datos de cada campo en el documento. Esto ayuda Elasticsearch a comprender cómo procesar y buscar datos en diferentes campos.
Por ejemplo, si tenemos un Index products
y queremos definir Mapping para los campos name
(nombre del producto) y price
(precio del producto) como de tipo texto y flotante, respectivamente, podemos ejecutar el siguiente comando:
PUT /products/_mapping
{
"properties": {
"name": {
"type": "text"
},
"price": {
"type": "float"
}
}
}
En el ejemplo anterior, hemos definido Mapping para el products
Índice, con el name
campo que tiene el tipo de datos text
y el campo de precio que tiene el tipo de datos float
. Esto asegura que cuando Elasticsearch reciba nuevos documentos para el products
Índice, almacenará y procesará los name
campos y "precio" de acuerdo con los tipos de datos definidos.
Index y Mapping juegan papeles cruciales en la organización y administración de datos en Elasticsearch. Ayudan a Elasticsearch comprender y procesar datos de manera eficiente, optimizar las operaciones de búsqueda y consulta y proporcionar capacidades de escalabilidad flexibles para el sistema.