我们能不能让复合词过滤器在solr中不分割一些词?

我们能不能让复合词过滤器在solr中不分割一些词?,solr,filter,Solr,Filter,我正在使用一个词典compoundWordTokenFilterFactory。我有一个荷兰语复合词\u words\u dict\u nl.txt,其中包含以下单词: 笔 插槽 诺普 我用这本词典把单词penslot和knoppen分开 问题是,我不希望knoppen这个词被认为是一个复合词。它是knop的复数形式。过滤器将其分为knop和pen,这将返回包含knop和pen的结果。但是knoppen单词不应该生成一个钢笔单词。只是一个有词干的版本-knop(我在analyzer中使用了词干过

我正在使用一个词典compoundWordTokenFilterFactory。我有一个荷兰语复合词\u words\u dict\u nl.txt,其中包含以下单词:

插槽
诺普

我用这本词典把单词penslotknoppen分开

问题是,我不希望knoppen这个词被认为是一个复合词。它是knop的复数形式。过滤器将其分为knop和pen,这将返回包含knop和pen的结果。但是knoppen单词不应该生成一个钢笔单词。只是一个有词干的版本-knop(我在analyzer中使用了词干过滤器)

如果我从字典中删除pen单词,它将只添加单词slot作为标记,我不希望使用penslot大小写


这类问题是否有一个简单的解决方法,或者我是否需要创建一些自定义过滤器?

NGrams?简化且不准确:“knop pen”将减少为“kn-op-kno-nop-pe-en-pen”,而“knoppen”将减少为“kn-op-kno-nop-pp-pe-en-pen”(注意只有几个额外的词?),它们的搜索和评分方式与词干词相同。@AitchnYou NGrams过滤器将创建一个巨大的索引。如果我们还想用整词搜索单词,索引会更大(=>ngrams size biger=>index biger)。我只是在寻找一种复合词过滤器接受异常的方法。应该有这样的可能性,因为有一个有效的用例。无论如何,谢谢你的建议@aitchnyu还指出,NGrams过滤器也会导致同样的问题——单词“knoppen”将返回包含“pen”的结果。当然会。也许有些Demax规则可以基于匹配项的分数消除完全不相关的结果。我很感兴趣,因为我的语言(印度喀拉拉邦的马来亚拉姆语)也有更复杂的复合词,而且我知道NGram适用于亚洲语言。我想你可以找到自然语言组件,比如荷兰语的词干分析器。我猜“knoppen”中的“pen”是“eating”中类似“ing”的后缀?