Lucene默认模糊匹配实现的替代方案

时间:2010-05-18 08:02:24

标签: lucene string-matching fuzzy

Lucene模糊匹配使用基本的editDistance算法来实现模糊匹配。 是否还有其他使用其他相似性指标的Lucene模糊匹配实现?他们也应该识别homphones。还请比较lucene的各种模糊匹配方法。

2 个答案:

答案 0 :(得分:1)

不要认为Lucene提供任何其他字符串匹配算法,但您可以自己添加一个。 Here是一个很好的库,包含最知名的字符串比较算法。

答案 1 :(得分:0)

我做的事情很简单,并且可以在大多数情况下使用(在我的情况下,我有670万个事件名称,来自一个脏表,该表的事件名称经过了稍微改动或细化,并且我模糊匹配的表具有所有干净的事件名称)

``select distinct a.Column, b.Column 
from tableA a 
inner join tableB b 
on '%' + SUBSTRING(b.Column, x, y) + '%' = '%' + SUBSTRING(a.Column, x, y) + '%'
order by a.Column asc;``

我的问题是,如果我只是简单地进行模糊匹配而没有子字符串,那么由于这两者之间的命名约定太晦涩,我只能得到11个结果。此解决方案显示所有向下钻取事件都与干净表中的更广泛对应事件匹配。