Puntos clave: Los comandos comunes de curl de ElasticSearch simplifican tareas de gestión de datos como indexar, consultar y actualizar documentos. Estos comandos permiten a los usuarios interactuar eficientemente con la API RESTful de ElasticSearch.
- ElasticSearch soporta mapeo dinámico de campos, lo que permite una exploración flexible de datos.
- Los comandos incluyen crear, eliminar y listar índices, así como consultar documentos con parámetros URL o JSON.
Aquí mostramos algunos de los comandos de curl más comunes de ElasticSearch. ElasticSearch a veces está complicado. Así que aquí lo Haz sencillo.
Información de contexto
¿Qué están "curl"?
El acrónimo cURL, ahora frecuentemente escrito curl, significa client URL. Es una herramienta de línea de comandos que te permite transferir datos hacia o desde servidores web, APIs y otros dispositivos en red. Los desarrolladores consideran que están una herramienta esencial para su utiliza en proyectos de desarrollo web, para tareas de automatización y scripting, y para la gestión de sistemas informáticos.
Usando Comandos de curl ElasticSearch
Para la indexación y consulta de datos a gran escala, curl ElasticSearch están un potente motor de búsqueda y análisis distribuido. te puede acceder directamente a la API RESTful de ElasticSearch usando curl para Crea índices, buscar en documentos, actualizar datos y para gestionar computación en clústeres. Aquí están una hoja de trucos de comandos curl de ElasticSearch:
Comandos de índices de ElasticSearch usando curl
Un índice ElasticSearch está un conjunto de signos que identifican y hacen referencia a un conjunto de documentos que son una colección de campos, todos conteniendo datos. Lo que lo hace elástico, en lugar de un esquema fijo, está que no te obligas a mapear todo con antelación. Te permite explorar tus datos sin que te te obligue a Define tus campos. Detecta y mapea tus campos dinámicamente.
Crea índice en ElasticSearch
El comando ElasticSearch que aparece a continuación crea un índice llamado index_name con la configuración predeterminada.
curl -X PUT 'http://localhost:9200/index_name'
Eliminar un índice de ElasticSearch
Para eliminar un índice de ElasticSearch (en este caso, muestras nombradas), utiliza el siguiente comando curl:
curl -X DELETE 'http://localhost:9200/samples'
Enumerar todos los índices
Para listar todos los índices en ElasticSearch, utiliza:
curl -X GET 'http://localhost:9200/_cat/indices?v'
Lista toda la documentación en el índice
A continuación están una consulta de ElasticSearch con rotación para devolver todos los documentos de un índice:
curl -X GET 'http://localhost:9200/sample/_search'
Mapeo de índices de listas
Todos los campos de ElasticSearch son índices. Así que este comando de curl de ElasticSearch lista todos los campos y sus tipos en un índice.
curl -X GET http://localhost:9200/samples
Haz una copia de seguridad de un índice de ElasticSearch
curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/_reindex -d '{
"source": {
"index": "samples"
},
"dest": {
"index": "samples_backup"
}
}'
Cómo consultar ElasticSearch usando curl
Cuando te consultas ElasticSearch usando curl, te puedes utilizar parámetros de URL o enviar una solicitud HTTP Obtén con un cuerpo JSON que contenga la consulta. Aquí son ejemplos de ambos enfoques:
Consulta de curl de ElasticSearch usando parámetros de URL
A continuación están un simple curl para Obtén un ejemplo de comando de curl en ElasticSearch, útil para consultas y operaciones básicas. Aquí utilizamos el formato de consulta Lucene para escribir q=school:Harvard.
curl -X GET http://localhost:9200/samples/_search?q=school:Harvard
Consulta con JSON, también conocida como ElasticSearch Query DSL
te puede consultar usando parámetros en la URL. Pero también te puede utiliza JSON para consultar ElasticSearch usando curl, como se muestra en el siguiente ejemplo. JSON sería más fácil de leer y depurar cuando te una consulta compleja que una cadena enorme de parámetros de URL.
curl -XGET --header 'Content-Type: application/json' http://localhost:9200/samples/_search -d '{
"query" : {
"match" : { "school": "Harvard" }
}
}'
Consulta ElasticSearch devolviendo solo ciertos campos
Para devolver solo ciertos campos al consultar ElasticSearch usando curl, colócalos en el _source array:
GET filebeat-7.6.2-2020.05.05-000001/_search
{
"_source": ["suricata.eve.timestamp","source.geo.region_name","event.created"],
"query": {
"match" : { "source.geo.country_iso_code": "GR" }
}
}
Consulta de ElasticSearch por fecha
Cuando el campo están del tipo "fecha", te puede utiliza fechar matemáticas, así:
GET filebeat-7.6.2-2020.05.05-000001/_search
{
"query": {
"range" : {
"event.created": {
"gte" : "now-7d/d"
}
}
}
}
Comandos Curl put ElasticSearch
Añadir datos
El comando curl que aparece a continuación añade datos a un documento de ElasticSearch:
curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/1 -d '{
"school" : "Harvard"
}'
Actualización del documento
Aquí están cómo añadir campos a un documento existente de ElasticSearch. Primero, Crea un nuevo documento y luego lo actualizamos.
curl -XPUT --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2 -d '
{
"school": "Clemson"
}'
curl -XPOST --header 'Content-Type: application/json' http://localhost:9200/samples/_doc/2/_update -d '{
"doc" : {
"students": 50000}
}'
Otros ejemplos útiles de comandos de curl de ElasticSearch
Carga masiva de datos en formato JSON
Así es como cargar datos en formato JSON en un clúster de ElasticSearch:
export pwd="elastic:"
curl --user $pwd -H 'Content-Type: application/x-ndjson' -XPOST 'https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/0/_bulk?pretty' --data-binary @
Mostrar estado del clúster de ElasticSearch
El comando ElasticSearch curl xget que aparece a continuación utiliza formato JSON para comprobar el estado del clúster de ElasticSearch:
curl --user $pwd -H 'Content-Type: application/json' -XGET https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/_cluster/health?pretty
Agregación y agregación por cubos
Para un servidor web nginx, este comando de agregación ElasticSearch genera el número de visitas web por ciudad de usuario:
curl -XGET --user $pwd --header 'Content-Type: application/json' https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
"aggs": {
"cityName": {
"terms": {
"field": "geoip.city_name.keyword",
"size": 50
}
}
}
}
'
Esto amplía eso a un recuento de código de respuesta de producto por ciudad en un registro de un servidor web nginx:
curl -XGET --user $pwd --header 'Content-Type: application/json' https://58571402f5464923883e7be42a037917.eu-central-1.aws.cloud.es.io:9243/logstash/_search?pretty -d '{
"aggs": {
"city": {
"terms": {
"field": "geoip.city_name.keyword"
},
"aggs": {
"responses": {
"terms": {
"field": "response"
}
}
}
},
"responses": {
"terms": {
"field": "response"
}
}
}
}'
Uso de ElasticSearch con autenticación básica
Si te has activado la seguridad con ElasticSearch, entonces te necesario proporcionar el usuario y la contraseña que se muestra a continuación a cada comando curl:
curl -X GET 'http://localhost:9200/_cat/indices?v' -u elastic:(password)
ElasticSearch de impresión bonita
Añade ?pretty=true a cualquier búsqueda para imprimir el JSON de forma bonita, así:
curl -X GET 'http://localhost:9200/(index)/_search'?pretty=true
Guía de ElasticSearch
- Tutorial de ElasticSearch para principiantes: Conceptos básicos de ElasticSearch
- Uso de Apache Hive con ElasticSearch
- Uso de ElasticSearch con Apache Spark
- Hoja de trucos de comandos de Curl ElasticSearch
- Ejemplo y explicación de actualización y explicación de Spark ElasticSearch Hadoop
- Cómo escribir datos de Apache Spark en ElasticSearch usando Python
- Sintaxis de búsqueda ElasticSearch y búsquedas booleanas y de agregación
- Consultas anidadas de ElasticSearch: Cómo buscar documentos incrustados
- ElasticSearch se une: Has_Child, consulta Has_parent
- Cómo configurar un clúster Elastic versión 7
- Cómo configurar Filebeat para nginx y ElasticSearch
- Uso de Beats y Logstash para enviar registros a ElasticSearch
- Cómo cargar un archivo CSV en ElasticSearch con Logstash
- Explicación de las agregaciones de ElasticSearch
- ¿Qué es el ELK Stack?
- Logstash 101: Uso de Logstash en una Canalización de Procesamiento de Datos
- Usar Kibana para ejecutar consultas en ElasticSearch usando el lenguaje de consultas Lucene y Kibana
- Aprendizaje automático ElasticSearch
- Cómo instalar Elastic Enterprise Search
- Cómo utilizar Elastic Enterprise Search con GitHub
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.