Aller au contenu
uencoder

Fuzzy Search

La recherche approximative (fuzzy search) est une technique de recherche tolérante aux variantes orthographiques, qui fait correspondre des résultats approchés sur la base de la distance d'édition, des n-grammes ou d'algorithmes phonétiques.

Objectif

Renvoyer des résultats pertinents même lorsque la saisie de l'utilisateur contient des fautes de frappe ou des variantes, améliorant l'expérience de recherche.

Mécanisme

Méthodes courantes : correspondance par seuil de distance de Levenshtein, index inversés de n-grammes, accélération par BK-tree, correspondance phonétique Soundex/Metaphone et algorithme Bitap. Des implémentations sont fournies par fuse.js, la requête fuzzy d'Elasticsearch, entre autres.

Cas d’usage

  • Correction orthographique dans les moteurs de recherche
  • Autocomplétion en ligne de commande
  • Requêtes floues en base de données
  • Recherche de code (tolérante aux fautes)

Exemples

  • entrée
    recieve → receive
    Output
    Matches receive (distance 2)

    Spelling correction

Erreurs courantes

Overly loose thresholds cause too many false matches
Adjust thresholds dynamically based on word length

Termes associés

References