Al igual que todas las bases de datos, creará, obtendrá, actualizará y eliminará registros de la base de datos. Sin embargo, a diferencia de las bases de datos relacionales, ElasticSearch no proporciona un lenguaje de consulta incorporado como SQL, CQL, etc. En cambio, interactuamos con los puntos finales de la API que expone Elasticsearch, lo que nos permite llevar a cabo numerosas acciones con simples llamadas HTTP."
En la publicación, descubrirá cómo obtener documentos almacenados en Elasticsearch utilizando la API GET Documents.
Sintaxis de API
La API GET Document nos permite obtener documentos JSON almacenados en un índice determinado. El fragmento a continuación muestra la sintaxis de la solicitud para obtener documentos.
Get /_doc /<_id>
También puede usar el método HTTP Head para verificar un documento existe en lugar de devolverlo. La sintaxis es como se muestra:
CABEZA/_doc/<_id>
La solicitud toma los siguientes parámetros:
La solicitud también admite los siguientes parámetros de consulta. Estos le permiten modificar cómo se comporta la API y el resultado de la consulta. Estos parámetros incluyen:
Valor de retorno
La solicitud GET Document tendrá los siguientes valores:
Ejemplo - Documento de Fetch Elasticsearch
El siguiente ejemplo muestra cómo obtener un documento con la ID de 'Qxya7yib38eq5h5gt9ru' del índice llamado 'kibana_sample_data_logs.'
curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5h5gt9ru" -h "kbn -xsrf: informes"
Una vez que ejecutamos la consulta anterior, debemos obtener una respuesta como se muestra:
"_index": "kibana_sample_data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_versión 1,
"_seq_no": 2383,
"_primary_term": 1,
"encontrado": verdadero,
"_fuente":
"Agente": "Mozilla/5.0 (x11; Linux i686) AppleWebkit/534.24 (khtml, como gecko) Chrome/11.0.696.50 Safari/534.24 ",
"Bytes": 4447,
"Clientip": "70.141.48.11 ",
"Extensión": "Zip",
"Geo":
"SrcDest": "US: BD",
"Src": "nosotros",
"Dest": "BD",
"Coordenadas":
"Lat": 38.14893833,
"Lon": -89.69870972
,
"Anfitrión": "Artefactos.elástico.co",
"índice": "kibana_sample_data_logs",
"IP": "70.141.48.11 ",
"máquina":
"Ram": 7516192768,
"OS": "Win 8"
,
"Memoria": NULL,
"Mensaje": "70.141.48.11 - - [2018-08-01T12: 14: 55.373Z] "Get /Kibana /Kibana-6.3.2-Windows-X86_64.zip http/1.1 "200 4447"-"" Mozilla/5.0 (x11; Linux i686) AppleWebkit/534.24 (khtml, como gecko) Chrome/11.0.696.50 Safari/534.24 "",
"PhpMemory": NULL,
"Referente": "http: // twitter.com/éxito/Mary-Weber ",
"Solicitar": "/kibana/kibana-6.3.2-Windows-X86_64.cremallera",
"Respuesta": 200,
"Etiquetas": [
"éxito",
"Información"
],
"TimeStamp": "2022-08-31T12: 14: 55.373Z ",
"URL": "https: // artefactos.elástico.CO/descargas/kibana/kibana-6.3.2-Windows-X86_64.cremallera",
"UTC_Time": "2022-08-31T12: 14: 55.373Z ",
"evento":
"DataSet": "sample_web_logs"
Ejemplo 2: verifique si existe el documento
Puede usar el método HTTP Head para verificar si existe un documento con el ID especificado antes de obtenerlo.
curl -xhead "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5h5gt9ru" -h "kbn -xsrf: informes"
Si el documento existe en el índice, la solicitud devuelve un 200 - OK.
De lo contrario, si el documento no se encuentra en el índice especificado, la solicitud devuelve:
"Statuscode": 404,
"error no encontrado",
"Mensaje": "404 - No encontrado"
Ejemplo 3 - Obtener campos específicos
Podemos recuperar campos específicos del documento configurando el parámetro Source_includes:
curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5h5gt9ru?_source_includes =*.ID, cliente, máquina.OS, respuesta "-H" KBN -XSRF: Informes "
La solicitud anterior debe obtener los documentos con la identificación especificada y devolver solo el ID, el cliente, el sistema operativo y los campos de respuesta.
La respuesta es como se muestra:
"_index": "kibana_sample_data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_versión 1,
"_seq_no": 2383,
"_primary_term": 1,
"encontrado": verdadero,
"_fuente":
"Clientip": "70.141.48.11 ",
"máquina":
"OS": "Win 8"
,
"Respuesta": 200
Conclusión
En este artículo, exploró cómo obtener documentos de un índice Elasticsearch utilizando la API GET Document.