Filter 带连字符和复合词的Solr标记符(德语)

Filter 带连字符和复合词的Solr标记符(德语),filter,solr,tokenize,hyphen,Filter,Solr,Tokenize,Hyphen,我目前正在寻找一种方法来索引复合词和solr中带有连字符的词。 如果你想把单词组合起来,德语是一门很棒的语言。您可以组合许多单词或添加连字符并创建一个新词。这使得配置solr非常困难。我正在寻找一个好的复合词标记器。以下是几个例子: Word->要索引的单词(英文翻译) Ananassaft->Ananas,Saft(菠萝汁) 巴纳南芒果夸克->巴纳南,芒果,夸克(香蕉芒果夸克) Apfelsaft Konzentat->Apfel,Saft,Konzentat(苹果汁 浓缩液) 博恩克劳特->

我目前正在寻找一种方法来索引复合词和solr中带有连字符的词。 如果你想把单词组合起来,德语是一门很棒的语言。您可以组合许多单词或添加连字符并创建一个新词。这使得配置solr非常困难。我正在寻找一个好的复合词标记器。以下是几个例子:

Word->要索引的单词(英文翻译)

Ananassaft->Ananas,Saft(菠萝汁)

巴纳南芒果夸克->巴纳南,芒果,夸克(香蕉芒果夸克)

Apfelsaft Konzentat->Apfel,Saft,Konzentat(苹果汁 浓缩液)

博恩克劳特->博恩,德国佬(风味)

艾尔沙拉->艾尔沙拉(鸡蛋沙拉)

电子邮件->电子邮件,电子邮件

因此,索引器和搜索应该将每个-作为一个词进行拆分。用-或像电子邮件这样的词换行并不重要。 正如你看到的,复合词有一些问题。它们可以是单数(bohne)和复数(bohnen)。 另一个问题是小词,它不应该像ei(egg)那样被发现。所以单词Scheibe(slice)包含egg,但不应该在这里索引它。另一方面,鸡蛋沙拉应该含有鸡蛋

目前我正在与StandardTokenizer和SnowballPorterFilterFactory合作。但它们不适用于复合词和连字符。 我找到了HyphenationCompoundWordTokenFilterFactory,但指向xml的链接似乎断开了。它似乎也是为XSL-FO设计的。
我想我可以将ei(egg)添加到protwords列表中,但我不太确定它到底是如何工作的。另外,egg仅以复数形式作为复合词存在,这可能会使它更简单。

您看过了吗?我目前正在用字典测试复合词TokenFilter。我从下面的URL中得到了一个很好的例子:你看过吗?我目前正在用字典测试compoundwordtokenfilter。我从以下URL获得了一个很好的示例: