可能重复:
Google如何"你的意思是?"算法有效吗?
假设您的网站中已有搜索系统.你如何实现<spell_checked_word>像谷歌在某些搜索查询中所说的"你的意思是:" 吗?
有类似的问题,但不是我可以在我的源代码中使用的C#库.
感谢大家的帮助.
我已经看过lucene,但我需要更容易搜索类似字符串的东西,而不需要索引部分的开销.
我标记的答案有两个非常简单的算法,一个也使用LINQ,所以它是完美的.
我正在寻找一种方法来比较字符串和字符串数组.当然,进行精确搜索非常容易,但我希望我的程序能够容忍拼写错误,缺少部分字符串等等.
是否有某种框架可以执行这样的搜索?我有一些想法,搜索算法将返回一些结果顺序的匹配百分比或类似的东西.
我有一些带有一些文件名(LIST1)的泛型和另一个带有完整名称列表的大型通用(LIST2).我需要将LIST1中的名称与LIST2中的类似名称相匹配.例如
LIST1
- **MAIZE_SLIP_QUANTITY_3_9.1.aif**
LIST 2
1- TUTORIAL_FAILURE_CLINCH_4.1.aif
2- **MAIZE_SLIP_QUANTITY_3_5.1.aif**
3- **MAIZE_SLIP_QUANTITY_3_9.2.aif**
4- TUTORIAL_FAILURE_CLINCH_5.1.aif
5- TUTORIAL_FAILURE_CLINCH_6.1.aif
6- TUTORIAL_FAILURE_CLINCH_7.1.aif
7- TUTORIAL_FAILURE_CLINCH_8.1.aif
8- TUTORIAL_FAILURE_CLINCH_9.1.aif
9- TUTORIAL_FAILURE_PUSH_4.1.aif
Run Code Online (Sandbox Code Playgroud)
我已经阅读了Levenshtein距离并在框架(SignumFramework Utilities)中使用了它的实现. 它在第2行和第3行返回距离= 1.但在我的情况下,第3行比第2行更好.
还有另一种方法可以比较相似的字符串吗?更灵活的东西?