Solr索引和搜索词干化

3

我有一个问题,我在一组员工记录上建立了索引。

全文索引是基于人员的姓名和职位建立的。

我可以轻松地搜索像“John”这样的姓名,以及像“anthon”这样的姓名的一部分。

然而,有些姓名无法正确搜索,例如“Anthony”没有返回任何结果,但“anth”可以返回所有Anthony的结果。同样,搜索“Carly”也没有返回任何结果,但是“car”可以。


请在此处发布您的schema.xml。 - nikhil500
词干提取不适用于名称,为什么不禁用它呢? - Mauricio Scheffer
1个回答

2
如Maurico所评论的,对于人名不建议使用词干提取。
至少对于人名来说,词干提取会导致很多意料之外的结果。
此外,检查您的schema.xml和应用于字段分析也是很有意义的。
如果在索引时间和查询时间使用了不同的分析器,则可能会出现此问题。
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#Analyzers中可以看到:

分析器是在索引时间和/或搜索时间预处理输入文本的组件。在索引和查询时间使用相同或类似的以兼容方式处理文本的分析器非常重要。例如,如果索引分析器将单词转换为小写字母,则查询分析器应该也这样做,以便找到已索引的单词。

从您提到的示例中,似乎在索引时间的字段上使用了词干提取,但在查询时间分析中并没有使用相同的分析器。

谢谢,词干提取器在索引时间而不是查询时间修复了它。 - eli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接