刚开始使用Lucene.Net。我使用标准分析器索引100,000行,运行一些测试查询,并注意到如果原始术语是单数,则多个查询不会返回结果。据我所知,雪球分析仪增加了支持,这听起来不错。但是,我想知道是否有超过标准的雪球锣有任何缺点?我是否会因为它而失去任何东西?还有其他分析仪需要考虑吗?
答案 0 :(得分:18)
是的,通过使用诸如Snowball之类的词干分析器,您将丢失有关原始文本形式的信息。有时这会很有用,有时候不会。
例如,Snowball将“组织”限制为“组织”,因此搜索“组织”将返回带有“器官”的结果,而不会有任何得分惩罚。
这是否适合您取决于您的内容以及您支持的查询类型(例如,搜索是非常基本的,还是用户非常复杂并使用您的搜索来准确过滤结果)。您可能还希望研究不那么激进的词干分析器,例如KStem。
答案 1 :(得分:6)
snowball分析仪会增加您的召回率,因为它比标准分析仪更具攻击性。因此,您需要评估您的搜索结果,以确定您的数据是否需要增加recall or precision。
答案 2 :(得分:4)
我刚刚完成了一个执行词形还原的分析器。这类似于词干,除了它使用上下文来确定单词的类型(名词,动词等)并使用该信息来导出词干。它还保留了索引中单词的原始形式。也许my library对您有用。但它需要Lucene Java,而且我不知道任何C#/。NET引理器。