Quelle est la différence entre une requête floue et une requête de correspondance ?

Quelle Est La Difference Entre Une Requete Floue Et Une Requete De Correspondance



Elasticsearch est un moteur de recherche et une base de données bien connu, gratuit, open source, analytique et distribué, utilisé pour gérer divers types de données. Il s'agit uniquement d'une base de données NoSQL et fonctionne différemment des bases de données SQL et relationnelles classiques. Elasticsearch utilise des requêtes DSL ((Domain Specific Language) et des API REST pour gérer et analyser les données. Différents types de requêtes existent dans Elasticsearch, telles que les requêtes floues, les requêtes de correspondance, les requêtes génériques, les requêtes de préfixe et bien d'autres. Ces requêtes fonctionnent différemment. de chacun d'eux.

Cet article démontre sur :

Qu'est-ce qu'une requête « floue » ?

Le ' flou ' La requête est une requête DSL qui effectue des recherches sur d'autres opérations telles que la modification du caractère, l'insertion du caractère ou la suppression du caractère en fonction de ' Distance de modification de Levenshtein ' distance. Il trouve généralement la différence entre les termes et renvoie le résultat dans un document plus proche ou presque similaire au terme recherché.







Qu'est-ce qu'une requête « correspondance » ?

Le ' correspondre ' La requête est un autre type de requête DSL qui est utilisé pour faire correspondre ou rechercher les données données telles qu'une chaîne, un nombre ou du texte. C'est un ' texte intégral ' Requête basée sur et effectue une recherche en texte intégral et renvoie les résultats qui correspondent exactement au terme recherché. Si le terme ne correspond pas au terme recherché, il renverra une chaîne nulle ou false.



Différence entre les requêtes « flou » et « match »

Les deux ' flou ' et ' correspondre ' Les requêtes sont utilisées à des fins de recherche. La principale différence entre ces deux requêtes est que la requête « floue » effectue une recherche floue et renvoie un résultat similaire ou proche du terme recherché. En revanche, la requête « match » renvoie les résultats qui correspondent exactement au terme recherché.



Pour une meilleure compréhension, suivez les exemples ci-dessous :





Exemple 1 : Recherche floue utilisant une requête « floue »

Supposons que l’utilisateur souhaite rechercher le document contenant le «  Désignation 'valeur comme' Auteur ». Faisons une recherche qui trouve une correspondance plus proche. Pour ce faire, utilisez le «  flou ' requête pour rechercher un document qui a un ' Désignation ' valeur égale ou plus proche de ' auteur » :

OBTENIR un indice Linux / _recherche

{

'requête' : {

'flou' : {

'Désignation' : 'auteur'

}

}

}

La sortie ci-dessous montre que le document ayant l'identifiant ' 1 ' a un ' Désignation ' valeur proche du ' auteur » terme recherché :



Mais si l’exemple ci-dessus est appliqué par le « correspondre ' requête, il enverra un ' chaîne nulle » car il renvoie le terme correspondant exactement.

Exemple 2 : Recherche floue utilisant la requête « Match »

Prenons le même exemple et appliquons le « correspondre ' requête pour trouver le document ayant le ' Désignation 'valeur comme' auteur » :

OBTENIR un indice Linux / _recherche

{

'requête' : {

'correspondre' : {

'Désignation' : 'auteur'

}

}

}

La sortie ci-dessous montre que le «  correspondre ' La requête ne trouve pas de résultats plus proches et renvoie un ' nul ' chaîne:

Modifions la valeur recherchée de ' auteur ' à ' Auteur ' et exécutez le ' correspondre ' requête comme indiqué ci-dessous :

OBTENIR un indice Linux / _recherche

{

'requête' : {

'correspondre' : {

'Désignation' : 'Auteur'

}

}

}

Ici, vous pouvez voir le « correspondre ' La requête renvoie le document ayant l'identifiant ' 1 ». Parce que le document 1 correspond exactement aux termes recherchés :

C'est toute la différence entre un ' flou ' requête et un ' correspondre ' requête.

Conclusion

Le ' flou ' La requête est utilisée pour effectuer une recherche floue et renvoie les résultats qui correspondent étroitement au terme recherché. Cependant, le ' correspondre ' La requête ne prend pas en charge la recherche floue et renvoie les résultats qui correspondent exactement au terme recherché. Ce blog a illustré la différence entre une requête floue et une requête de correspondance.