6
谁能给我如何做使用Lucene.NET两个字符串的模糊匹配(或使用Lucene的Java版本,或在具有Lucene的港口任何其他语言)的一个例子。Lucene.NET(字符串模糊匹配)
谁能给我如何做使用Lucene.NET两个字符串的模糊匹配(或使用Lucene的Java版本,或在具有Lucene的港口任何其他语言)的一个例子。Lucene.NET(字符串模糊匹配)
您能否对您的意思是模糊匹配更具体一点?如果你想使用诸如莱文斯坦,哈罗,温克勒等来比较两个字符串的字符串距离
的Lucene提供了使用符号(〜)运算符和 See here
模糊查询通配符(* &?)您最好使用单独的库,例如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
}
谢谢你的回答,先生。 你说得对,我想用Levenshtein算法来比较两个字符串,你能给我一个例子,你如何使用SimMetrics模糊匹配两个字符串? – user306080 2010-04-01 07:41:43
其实很直接: 1.在你的项目添加到Simmetrics DLL的引用 2.在您想运行的相似的方法, SimMetricsMetricUtilities.Levenstein LS =新SimMetricsMetricUtilities.Levenstein(); //比较字符串1,字符串2 double sim = js.GetSimilarity(string_1,string_2); if(sim> [some value]) { //做些什么 } – Mikos 2010-04-01 21:48:34
我看到的唯一问题是,您是否在从lucene获取结果后进行匹配。 – Dementic 2011-10-18 15:01:42