Elasticsearch - Indexation et recherches simples

Recherche

FondamentalRé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.

1
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

1
HTTP 200: OK
2
{
3
  "_index": "biblio",
4
  "_type": "livres",
5
  "_id": "1",
6
  "_version": 4,
7
  "found": true,
8
  "_source": {
9
    "date_parution": "28/01/1977"
10
  }
11
}
12
13
HTTP 404: NOT FOUND
14
{
15
  "_index": "biblio",
16
  "_type": "livres",
17
  "_id": "2",
18
  "found": false
19
}

FondamentalRecherches 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 :

1
 http://localhost:9200/_search
2
 http://localhost:9200/index1/_search
3
 http://localhost:9200/index1/type1/_search
4
 http://localhost:9200/index1/type1,type2/_search
5
 http://localhost:9200/index1,index2/type1/_search
6
 http://localhost:9200/_all/type1/_search
7
8
 http://localhost:9200/index1/_search?q=field:value
9
 http://localhost:9200/index1/_search?q=value

ExempleRecherche simple

1
GET http://localhost:9200/biblio/_search
1
{
2
  "took": 11,
3
  "timed_out": false,
4
  "_shards": {
5
    "total": 5,
6
    "successful": 5,
7
    "failed": 0
8
  },
9
  "hits": {
10
    "total": 1,
11
    "max_score": 1,
12
    "hits": [
13
      {
14
        "_index": "biblio",
15
        "_type": "livres",
16
        "_id": "1",
17
        "_score": 1,
18
        "_source": {
19
          "titre": "Shining",
20
          "auteur": "Stephen King",
21
          "genre": "fantastique",
22
          "date_parution": "28/01/1977"
23
}}]}}
  • 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

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Robin Jolliet, 2016 (Contributions : Stéphane Crozat, les étudiants de l'UTC) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)