comprensión Index y Mapping en Elasticsearch

¡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.