Saltar al contenido
uencoder

Fuzzy Search

La búsqueda difusa es una técnica de búsqueda tolerante a variaciones ortográficas que empareja resultados aproximados basándose en distancia de edición, n-gramas o algoritmos fonéticos.

Propósito

Devolver resultados relevantes incluso cuando la entrada del usuario contiene erratas o variantes, mejorando la experiencia de búsqueda.

Mecanismo

Métodos habituales: emparejamiento por umbral de distancia Levenshtein, índices invertidos de n-gramas, aceleración con BK-tree, emparejamiento fonético Soundex/Metaphone y el algoritmo Bitap. Implementaciones: fuse.js, la consulta fuzzy de Elasticsearch y otros.

Casos de uso

  • Corrección ortográfica en buscadores
  • Autocompletado en línea de comandos
  • Consultas difusas en bases de datos
  • Búsqueda de código (tolerante a erratas)

Ejemplos

  • entrada
    recieve → receive
    Output
    Matches receive (distance 2)

    Spelling correction

Errores comunes

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

Términos relacionados

References