Lucene.NET(字符串模糊匹配)

use*_*080 6 c# lucene lucene.net

任何人都可以举例说明如何使用Lucene.NET(或使用Lucene的Java版本,或任何其他具有Lucene端口的语言)对两个字符串进行模糊匹配.

Mik*_*kos 5

您是否可以通过模糊匹配更具体地了解您的意思?

Lucene使用波浪号(〜)运算符和通配符(*&?)提供模糊查询. 请参见此处

如果您想使用Levenshtein,Jaro-Winkler等方法比较2个字符串的字符串距离,最好使用SimMetrics等单独的库.我在我的生产网站上使用Simmetrics并且它可以工作.

SimMetricsMetricUtilities.Levenstein ls = new SimMetricsMetricUtilities.Levenstein(); //compare string 1, string 2 
double sim = ls.GetSimilarity(string_1, string_2); 
if(sim > [some value]) 
{ 
//do something 
} 
Run Code Online (Sandbox Code Playgroud)