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
GET my_index/my_type/_search
{
"query": {
"match": {
"my_field": "text_to_search",
"fuzziness": "auto"
}
}
}
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.
GET my_index/my_type/_search
{
"aggs": {
"wordMostUsed": {
"terms": {
"field": "field_to_aggregate",
"size": "number_of_results_to_show"
}
}
},
"size": 0
}
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.