Cómo crear índices de elasticsearch

Cómo crear índices de elasticsearch
Elasticsearch es una parte de la popular pila Elk utilizada para el análisis de registros y la búsqueda. Las aplicaciones y los sistemas están constantemente registrando datos que pueden ser muy útiles para la resolución de problemas y el seguimiento de los problemas. Usando la pila Elk, tiene las mejores herramientas para realizar estas tareas de manera rápida y fácil.

En este tutorial rápido, analizaremos ElasticSearch, específicamente cómo crear índices en el motor Elasticsearch. Aunque no necesita ningún conocimiento integral sobre el alces para seguir este tutorial, tener una comprensión básica de los siguientes temas podría ser ventajoso:

  • Usando el terminal, específicamente, curl
  • Conocimiento básico de API y JSON
  • Hacer una solicitud HTTP

NOTA: Este tutorial también supone que tiene Elasticsearch instalado y ejecutado en su sistema.

¿Qué son los índices de elasticsearch??

Sin simplificar excesivamente o complicar en exceso las cosas, un índice Elasticsearch es una colección de documentos JSON relacionados.

Como se mencionó en una publicación anterior, los índices Elasticsearch son los objetos JSON considerados la unidad base de almacenamiento en Elasticsearch. Estos documentos JSON relacionados se almacenan en una sola unidad que constituye un índice. Piense en los documentos de ElasticSearch como tablas en una base de datos relacional.

Relacionemos un índice Elasticsearch como una base de datos en el mundo de SQL.

  • Mysql => bases de datos => Tablas => columnas/filas
  • Elasticsearch => indices => tipos => JSON Documentos con propiedades

Cómo crear un índice Elasticsearch

Elasticsearch utiliza una API REST poderosa e intuitiva para exponer sus servicios. Esta funcionalidad le permite usar solicitudes HTTP para realizar operaciones en el clúster Elasticsearch. Por lo tanto, utilizaremos la API Crear índice para crear un nuevo índice.

Para esta guía, utilizaremos CURL para enviar las solicitudes y preservar la integridad y la usabilidad para todos los usuarios. Sin embargo, si encuentra errores con curl, considere usar la consola Kibana.

La sintaxis para crear un nuevo índice en Elasticsearch Cluster es:

PONER /

Para crear un índice, todo lo que tiene que hacer es pasar el nombre del índice sin otros parámetros, que crea un índice utilizando la configuración predeterminada.

También puede especificar varias características del índice, como en el cuerpo del índice:

  • La configuración del índice
  • Alias ​​de índice
  • Mapeaciones para campos de índice

El nombre del índice es un parámetro requerido; De lo contrario, recibirá un error para el uril (/)

curl -x pon "localhost: 9200"
"Error": "Método HTTP incorrecto para URI [/] y método [PUT], permitido: [Eliminar, cabeza, obtener]", "Estado": 405

Para crear un nuevo índice con el nombre single_index, pasamos la solicitud:

PUT /Single_Index

Para curl, use el comando:

curl -x put "localhost: 9200/single_index?bonito"

Este comando debería dar como resultado el estado HTTP 200 OK y un mensaje con reconocido: Verdadero AS:


"Reconocido": verdadero,
"Shards_acknowledged": verdadero,
"índice": "single_index"

La solicitud anterior crea un índice single_index con configuración predeterminada, ya que no especificamos ninguna configuración.

Reglas de nombres de índice

Al crear nombres para los índices de ElasticSearch, debe adherirse a los siguientes estándares de nomenclatura:

  1. El nombre del índice debe estar solo en minúsculas.
  2. Los nombres de índice no pueden comenzar con un tablero (-), un bajo (_) o un signo de adición (+)
  3. Los nombres no pueden ser . o…
  4. Los nombres de índice no pueden incluir caracteres especiales como: \, /, *, ?, ",, |," (personaje espacial) ,, #
  5. La longitud de los nombres de índice debe ser inferior a 255 bytes. Los caracteres de múltiples bytes contarán en la longitud total del nombre del índice. Por ejemplo, si un solo carácter tiene 8 bytes de longitud, la longitud total restante del nombre es 255 - 8
  6. En la última versión de ElasticSearch, nombres que comienzan con un . están reservados para índices ocultos e índices internos utilizados por Elasticsearch Plugins.

Cómo crear un cuerpo índice

Al usar la solicitud PUT para crear un índice, puede aprobar varios argumentos que definen la configuración del índice que desea haber creado. Los valores que puede especificar en el cuerpo incluyen:

  • Alias: Especifica los nombres de alias para el índice que desea haber creado; Este parámetro es opcional.
  • Ajustes: Esto define las opciones de configuración para el índice que desea haber creado. Si no especifica los parámetros, el índice se crea utilizando configuraciones predeterminadas.
  • Mapeos: Esto define el mapeo de los campos en el índice. Las especificaciones que puede incluir en las asignaciones incluyen:
    • El nombre de campo
    • El tipo de datos
    • El parámetro de mapeo

Para obtener un ejemplo de creación de un índice con configuraciones de cuerpo, considere la solicitud a continuación:

Put /single_index_with_body

"ajustes":
"Number_of_shards": 2,
"Number_of_replicas": 2
,
"Mapeos":
"propiedades":
"Field1": "tipo": "objeto"


Para una solicitud equivalente de curl:

curl -xput "http: // localhost: 9200/single_index_with_body" -h 'content -type: application/json' -d '"settings": "number_of_shards": 2, "number_of_replicas": 2, "Mapeaciones" : "Propiedades": "Field1": "Tipo": "Object" '

La solicitud anterior crea un nuevo índice con el nombre single_index_with_body con 2 números de fragmentos y 2 réplicas. También crea una asignación con un campo de nombre de campo1 y escribe como objeto JSON.

Una vez que envíe la solicitud, obtendrá una respuesta con el estado de la solicitud como:


"Reconocido": verdadero,
"Shards_acknowledged": verdadero,
"índice": "single_index_with_body"

"Reconocido" muestra si el índice se creó con éxito en el clúster, mientras que "Shards_acknowledged" muestra si el número requerido de copias de fragmentos se inició para cada fragmento en el índice especificado antes del tiempo de espera.

Cómo ver el índice Elasticsearch

Para ver la información sobre el índice que creó, use una solicitud similar a la de crear un índice, pero use el método HTTP en lugar de poner como:

Get /single_index_with_body

Para el rizo,

curl -xget "http: // localhost: 9200/single_index_with_body"

Este comando le dará información detallada sobre el índice solicitado como:


"single_index_with_body":
"Alias": ,
"Mapeos":
"propiedades" :
"Field1":
"Tipo": "Objeto"


,
"ajustes" :
"índice":
"enrutamiento":
"Asignación":
"incluir" :
"_tier_preference": "data_content"


,
"Number_of_shards": "2",
"provisto_name": "single_index_with_body",
"Creation_date": "1611045687208",
"Number_of_replicas": "2",
"uuid": "3trko7xmqcsuoogtb6pxva",
"versión" :
"Creado": "7100299"




Conclusión

Esta guía discutió cómo trabajar con ElasticSearch para crear API de índice para crear nuevos índices. También discutimos cómo crear nombres adecuados para los índices y la configuración de la configuración.

Al usar esta guía, ahora puede crear y ver índices utilizando la API Elasticsearch.