我需要在编制索引之前从单词中删除撇号。例如,我希望学士学位成为学士学位。我使用了solr.ApostropheFilterFactory,但我认为,这个过滤器在solr4之后被弃用了,我使用的是solr5。 这就是我使用它的方式
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.ApostropheFilterFactory"/>
</analyzer>
我也使用过StandardFilterFactory
<fieldType name="text" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
</analyzer>
</fieldType>
这些都不适合我。任何人都可以建议我什么。提前谢谢!
答案 0 :(得分:0)
使用Word分隔符过滤器
此过滤器在单词分隔符处分割标记 确定分隔符的规则确定如下:
<fieldType name="text" class="solr.TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"/>
</analyzer>
</fieldType>
或
经典过滤器
此过滤器获取Classic Tokenizer的输出并从首字母缩略词中删除句点,从占有词中删除“s”。
<fieldType name="text" class="solr.TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.ClassicFilterFactory"/>
</analyzer>
</fieldType>
注意:如果在analyzer标签中提供type =“index”,则分析器用于索引时间