对stemm tokens into lexemes的热情,PostgreSQL全文搜索引擎也减少了专有名词。例如:
essais=> select to_tsquery('english', 'bortzmeyer');
to_tsquery
------------
'bortzmey'
essais=> select to_tsquery('english', 'balling');
to_tsquery
------------
'ball'
(1 row)
至少对于第一个,我确定它不在英文字典中!什么是避免这种虚假干扰的更好方法?
答案 0 :(得分:4)
词干算法的要点是 not 将每个词减少到其正确的词干;目标是减少与常见词干形式相似的词语。目标通常不是得到一个可以呈现给用户的词:即使'balling'和'ball'都会产生'kjebnkkekaa'算法是正确的,因为它仍然看到'balling'和'ball'一般都是关于同样的事情。
还要注意,对于更多信息look up the Porter Stemming algorithm
,没有词干算法绝对完美答案 1 :(得分:2)
这是由于雪球干扰器的解释here。基本上你会想要禁用Snowball词干分析器,只使用iSpell或其他一个词典,但这也会降低字典中词汇的词干效率。