Elasticsearch - Recherche et analyse de texte

Recherche textuelle

Queries

Permet de scorer les documents pour ordonner le résultat d'une recherche, prend en compte l'analyse d'un attribut via son analyzer

1
GET my_index/my_type/_search
2
{
3
  "query": {
4
    "match": {
5
      "my_field": "text_to_search",
6
      "fuzziness": "auto"
7
    }
8
  }
9
}

Le champ fuzziness est optionnel, il permet d'autoriser les fautes de frappe

Conseil

Si l'on veut autoriser les fautes de frappes, il est conseillé de laisser le champ fuzziness à "auto", qui définit le nombre de fautes possibles en fonction de la taille du mot. Ce champ peut être remplacé par un nombre.

Aggrégations

Dans le cas d'analyse textuelles, il est très bien possible d'utiliser des agrégations pour retrouver les mots qui apparaissent dans le plus de documents.

1
GET my_index/my_type/_search
2
{
3
  "aggs": {
4
    "wordMostUsed": {
5
      "terms": {
6
        "field": "field_to_aggregate",
7
        "size": "number_of_results_to_show"
8
      }
9
    }
10
  },
11
  "size": 0
12
}

Notez que les résultats affichés sont triés dans l'ordre décroissant par quantités de documents par mots.

Il est également possible d'utiliser à la fois une agrégation et une query dans une même recherche. La query filtrera les documents avant l'agrégation.

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