我有一个关于lucene Stemmer的问题。 我想知道lucene是否保留了词干词和非词干词或者只是用非词干词代替词干词?
例如,如果记录有以下内容: “每个人都爱猫” 它会被编入索引吗? “每个人都爱猫猫”或“每个人都爱猫”
查询和记录的策略是否相同?
答案 0 :(得分:0)
通常,只保留Stemmed版本。也就是说,在你的例子中,最终结果将是“每个人都喜欢猫”,而不是“每个人都喜欢猫猫”或类似的组合。
在索引和查询时,您应该使用相同的词干分析器。可能有一些词干过滤器,如SynonymFilter
,允许您保留原始过滤器,但执行此操作并运行未经过干扰的查询将导致PhraseQueries无法正常工作(请参阅SynonymFilter文档中有关此主题的说明) )。我不相信大多数常见的词干过滤器(即PorterStemFilter)都能提供这种功能。
我需要能够出于某种原因搜索未经过干扰的数据,我建议存储第二个完全不受限制的字段。