Fuzzy Search
模糊搜索是容忍拼写差异的搜索技术,基于编辑距离、n-gram 或音标算法匹配近似结果。
用途
在用户输入有拼写错误或变体时仍返回相关结果,提升搜索体验。
机制
常用方法:Levenshtein 距离阈值匹配、n-gram 倒排索引、BK-tree 加速、Soundex/Metaphone 音标匹配、Bitap 算法。fuse.js、Elasticsearch fuzzy query 等提供实现。
用例
- 搜索引擎拼写纠错
- 命令行自动补全
- 数据库模糊查询
- 代码搜索(容忍拼写)
示例
- 输入
recieve → receive输出Matches receive (distance 2)Spelling correction
常见错误
- Overly loose thresholds cause too many false matches
- Adjust thresholds dynamically based on word length