我正在Solr中尝试执行以下操作
例如,我希望在搜索时将ü和ue视为等价。其他元音变音符也是如此。搜索API的用户应该能够使用任何一个进行搜索,并且仍然得到相同的结果。例如,用übersicht
和uebersicht搜索应该会得到相同的结果
我看到了带有German2语言属性的SnowballPorterFilterFactory。German2属性看起来正是我所需要的,但我希望在不引入Stemming的情况下使用它。这可能是吗
您可以使用<filter class="solr.GermanNormalizationFilterFactory"/>
https://lucene.apache.org/core/4_0_0/analyzers-common/org/apache/lucene/analysis/de/GermanNormalizationFilter.html
这样做:
- "ß"替换为"ss">
- "ä"、"ö"one_answers"ü"分别替换为"a"、"o"one_answers"u">
- "ae"one_answers"oe"分别替换为"a"one_answers"o">
- 当不跟在元音或q后面时,"ue"被"u"代替
您还可以将<charFilter class="solr.MappingCharFilterFactory" mapping="mapping.txt"/>
与自己的映射文件一起使用。https://lucene.apache.org/core/8_1_1/analyzers-common/org/apache/lucene/analysis/charfilter/MappingCharFilterFactory.html
mapping.txt示例:
"ü">quot;ue";
"ä">quot;ae";