Comme toutes les bases de données, vous allez créer, récupérer, mettre à jour et supprimer des enregistrements de la base de données. Cependant, contrairement aux bases de données relationnelles, Elasticsearch ne fournit pas de langage de requête intégré tel que SQL, CQL, etc. Au lieu de cela, nous interagissons avec les points de terminaison de l'API qu'Elasticsearch expose, nous permettant de réaliser de nombreuses actions avec des appels HTTP simples."
Dans le post, vous découvrirez comment récupérer des documents stockés dans Elasticsearch à l'aide de l'API GET DOCUMENTS.
Syntaxe de l'API
L'API Get Document nous permet de récupérer les documents JSON stockés dans un index donné. L'extrait ci-dessous montre la syntaxe de demande pour récupérer les documents.
Get / _doc /<_id>
Vous pouvez également utiliser la méthode HTTP Head pour vérifier qu'un document existe au lieu de le retourner. La syntaxe est comme indiqué:
DIRIGER/ _doc /<_id>
La demande prend les paramètres suivants:
La demande prend également en charge les paramètres de requête suivants. Ceux-ci vous permettent de modifier comment l'API se comporte et le résultat de la requête. Ces paramètres incluent:
Valeur de retour
La demande de document GET aura les valeurs suivantes:
Exemple - Document de récupération d'Elasticsearch
L'exemple suivant montre comment récupérer un document avec l'ID de 'qxya7yib38eq5h5gt9ru' de l'index appelé 'kibana_sample_data_logs.'
curl -xget "http: // localhost: 9200 / kibana_sample_data_logs / _doc / qxya7yib38eq5h5gt9ru" -h "kbn-xsrf: reportage"
Une fois que nous avons exécuté la requête ci-dessus, nous devons obtenir une réponse comme indiqué:
"_index": "kibana_sample_data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_version 1,
"_seq_no": 2383,
"_primary_term": 1,
"Found": vrai,
"_source":
"Agent": "Mozilla / 5.0 (x11; Linux i686) Applewebkit / 534.24 (khtml, comme gecko) Chrome / 11.0.696.50 Safari / 534.24 ",
"octets": 4447,
"ClientIp": "70.141.48.11 ",
"Extension": "zip",
"Geo":
"srcdest": "nous: bd",
"src": "nous",
"dest": "bd",
"Coordonnées":
"Lat": 38.14893833,
"Lon": -89.69870972
,
"hôte": "Artefacts.élastique.co",
"index": "kibana_sample_data_logs",
"IP": "70.141.48.11 ",
"machine":
"Ram": 7516192768,
"OS": "Win 8"
,
"Mémoire": null,
"Message": "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, comme gecko) Chrome / 11.0.696.50 Safari / 534.24 "",
"phpmemory": null,
"référer": "http: // twitter.com / Success / Mary-weber ",
"Demande": "/ kibana / kibana-6.3.2 windows-x86_64.zipper",
"Réponse": 200,
"Mots clés": [
"succès",
"Info"
]],
"horodat": "2022-08-31T12: 14: 55.373Z ",
"URL": "https: // artefacts.élastique.co / téléchargements / kibana / kibana-6.3.2 windows-x86_64.zipper",
"UTC_Time": "2022-08-31T12: 14: 55.373Z ",
"événement":
"DataSet": "Sample_web_logs"
Exemple 2 - Vérifiez si le document existe
Vous pouvez utiliser la méthode HTTP Head pour vérifier si un document avec l'ID spécifié existe avant de le chercher.
curl -xhead "http: // localhost: 9200 / kibana_sample_data_logs / _doc / qxya7yib38eq5h5gt9ru" -h "kbn-xsrf: reportage"
Si le document existe dans l'index, la demande renvoie un 200 - OK.
Sinon, si le document n'est pas trouvé dans l'index spécifié, la demande renvoie:
"Statuscode": 404,
"Erreur non trouvée",
"message": "404 - non trouvé"
Exemple 3 - Répondre aux champs spécifiques
Nous pouvons récupérer des champs spécifiques du document en définissant le paramètre source_incluses:
curl -xget "http: // localhost: 9200 / kibana_sample_data_logs / _doc / qxya7yib38eq5h5gt9ru?_Source_includes = *.ID, clientp, machine.OS, réponse "-H" KBN-XSRF: Reporting "
La demande ci-dessus doit récupérer les documents avec l'ID spécifié et renvoyer uniquement les champs ID, clientP, OS et réponse.
La réponse est comme indiqué:
"_index": "kibana_sample_data_logs",
"_id": "qxya7yib38eq5h5gt9ru",
"_version 1,
"_seq_no": 2383,
"_primary_term": 1,
"Found": vrai,
"_source":
"ClientIp": "70.141.48.11 ",
"machine":
"OS": "Win 8"
,
"Réponse": 200
Conclusion
Dans cet article, vous avez exploré comment récupérer les documents d'un index Elasticsearch en utilisant l'API Get Document.