我一直在使用lucene来构建文档索引,并对它们进行搜索。我知道lucene支持基于levenshtein距离的FuzzyQuery。
FuzzyQuery还有一个定义前缀长度的选项,我们可以保持搜索词的前几个字符固定。我想知道是否有定义后缀长度的选项。或者请建议我可以实现的一些实施。
答案 0 :(得分:0)
FuzzyQuery
中前缀的主要原因是它允许搜索在检查模糊匹配之前缩小可能的结果集,因此可以显着提高性能。添加后缀并不能提供任何此类好处。
实现这一目标并获得性能优势的最佳方法可能是通过在分析器中添加ReverseStringFilter
来对令牌进行反转。这同样经常用于支持领先的通配符查询,而不会产生通常带来的性能损失。