Recherche
Fondamental : Récupérer un document par son ID
Il suffit de changer le type de méthode. Pas besoin de le suffixé par _search puisqu’il ne s'agit pas d'une recherche, mais d'une récupération directe.
GET http://localhost:9200/biblio/livres/1
La réponse est soit HTTP 200 : OK si le document existe, soit HTTP 404 : NOT FOUND si celui si est introuvable
HTTP 200: OK
{
"_index": "biblio",
"_type": "livres",
"_id": "1",
"_version": 4,
"found": true,
"_source": {
"date_parution": "28/01/1977"
}
}
HTTP 404: NOT FOUND
{
"_index": "biblio",
"_type": "livres",
"_id": "2",
"found": false
}
Fondamental : Recherches simples
Les URL doivent systématiquement finir par _search.
es méthodes HTTP reconnues sont GET et POST.
GET permet d'envoyer des requêtes sans corps, avec des critères basiques en utilisant le paramètre q.
POST permet d'envoyer des requêtes DSL avancées formalisées en JSON en envoyant un corps de requête.
La spécification de l'index et du type est optionnelle. Cela permet de définir directement la portée de la recherche dans l'URL de la requête. Il est possible de définir une recherche parmi plusieurs index ou types en les séparant par une virgule.
Quelques exemples d'URL de requête de recherche :
http://localhost:9200/_search
http://localhost:9200/index1/_search
http://localhost:9200/index1/type1/_search
http://localhost:9200/index1/type1,type2/_search
http://localhost:9200/index1,index2/type1/_search
http://localhost:9200/_all/type1/_search
http://localhost:9200/index1/_search?q=field:value
http://localhost:9200/index1/_search?q=value
Exemple : Recherche simple
GET http://localhost:9200/biblio/_search
{
"took": 11,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "biblio",
"_type": "livres",
"_id": "1",
"_score": 1,
"_source": {
"titre": "Shining",
"auteur": "Stephen King",
"genre": "fantastique",
"date_parution": "28/01/1977"
}}]}}
took : temps de la requête en millisecondes
time_out : La recherche a-t-elle dépassé le temps imparti
hits : Les résultats de la recherches
hits.total : nombre de résultats correspondant aux critères
hits.hits : résultat sous la forme d'un tableau de document
_score : notion particulière d'Elasticsearch qui indique le taux de pertinence d'un document par rapport à une requête