Como todos os bancos de dados, você criará, buscará, atualizará e excluirá registros do banco de dados. No entanto, diferentemente dos bancos de dados relacionais, o Elasticsearch não fornece uma linguagem de consulta integrada, como SQL, CQL, etc. Em vez disso, interagimos com os pontos de extremidade da API que o Elasticsearch expõe, permitindo que realizemos inúmeras ações com chamadas HTTP simples.”
Na postagem, você descobrirá como buscar documentos armazenados no Elasticsearch usando a API Get Documents.
Sintaxe da API
A API Get Document nos permite buscar documentos JSON armazenados em um determinado índice. O trecho abaixo mostra a sintaxe da solicitação para buscar documentos.
Get /_doc /<_id>
Você também pode usar o método HTTP da cabeça para verificar um documento em vez de devolvê -lo. A sintaxe é como mostrado:
CABEÇA/_doc/<_id>
A solicitação leva os seguintes parâmetros:
A solicitação também suporta os seguintes parâmetros de consulta. Isso permite que você modifique como a API se comporta e o resultado da consulta. Esses parâmetros incluem:
Valor de retorno
A solicitação de documento GET terá os seguintes valores:
Exemplo - Elasticsearch Fetch Document
O exemplo a seguir mostra como buscar um documento com o ID de 'qxya7yib38eq5h5gt9ru' do índice chamado 'kibana_sample_data_logs.'
Curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5h5gt9ru" -h "kbn -xsrf: relatórios"
Depois de executar a consulta acima, devemos obter uma resposta como mostrado:
"_index": "kibana_sample_data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_versão 1,
"_seq_no": 2383,
"_Primary_term": 1,
"Found": verdadeiro,
"_fonte":
"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 ",
"Extensão": "Zip",
"Geo":
"srcdest": "nós: bd",
"src": "nós",
"Dest": "BD",
"Coordenadas":
"Lat": 38.14893833,
"Lon": -89.69870972
,
"Host": "Artefatos.elástico.CO ",
"Índice": "Kibana_sample_data_logs",
"IP": "70.141.48.11 ",
"máquina":
"Ram": 7516192768,
"OS": "Win 8"
,
"Memória": NULL,
"Mensagem": "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,
"Refereiro": "http: // twitter.com/sucesso/Mary-Weber ",
"Solicitação": "/kibana/kibana-6.3.2-Windows-X86_64.fecho eclair",
"Resposta": 200,
"Tag": [
"sucesso",
"Info"
],
"Timestamp": "2022-08-31T12: 14: 55.373Z ",
"url": "https: // artefatos.elástico.co/downloads/kibana/kibana-6.3.2-Windows-X86_64.fecho eclair",
"UTC_TIME": "2022-08-31T12: 14: 55.373Z ",
"Evento":
"DataSet": "sample_web_logs"
Exemplo 2 - Verifique se o documento existe
Você pode usar o método HTTP da cabeça para verificar se existe um documento com o ID especificado antes de buscá -lo.
Curl -xhead "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5h5gt9ru" -h "kbn -xsrf: relatórios"
Se o documento existir no índice, a solicitação retornará 200 - OK.
Caso contrário, se o documento não for encontrado no índice especificado, a solicitação retorna:
"StatusCode": 404,
"erro não encontrado",
"Mensagem": "404 - não encontrado"
Exemplo 3 - buscar campos específicos
Podemos recuperar campos específicos do documento definindo o parâmetro fonte_includes:
Curl -xget "http: // localhost: 9200/kibana_sample_data_logs/_doc/qxya7yib38eq5h5gt9ru?_source_includes =*.id, cliente, máquina.OS, resposta "-h" kbn -xsrf: relatórios "
A solicitação acima deve buscar os documentos com o ID especificado e retornar apenas os campos ID, Clientip, OS e Response.
A resposta é como mostrado:
"_index": "kibana_sample_data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_versão 1,
"_seq_no": 2383,
"_Primary_term": 1,
"Found": verdadeiro,
"_fonte":
"Clientip": "70.141.48.11 ",
"máquina":
"OS": "Win 8"
,
"Resposta": 200
Conclusão
Neste artigo, você explorou como buscar documentos de um índice de elasticsearch usando a API Get Document.