我们遇到使用ASCIIFoldingFilter和LowerCaseFilter的自定义Lucene.NET Analyzer的问题。
在为我们的内容编制索引时,小写过滤器工作并使所有术语都小写,但ASCIIFoldingFilter保持变音符号不变(没有错误,但像őŏő这样的字符不会被 o替换,它们没有被触及,在索引中看起来像这样 - 我本以为这可以工作或者什么都不做就失败了。
相关代码如下:
public TokenStream TokenStream(String fieldName, TextReader reader) {
Tokenizer tokenizer = new StandardTokenizer(reader);
TokenStream stream = new StandardFilter(tokenizer);
stream = new ASCIIFoldingFilter(stream);
return new LowerCaseFilter(stream);
}
是否需要执行一些额外的步骤来使用ASCIIFoldingFilter?
是否有一些可以适应Lucene.NET的Java实例?
谢谢!
编辑:我成功解决了这个问题。这是一个配置错误的问题。没有使用自定义分析仪,另一个使用了低位的分析仪。自定义筛选器现在正常工作。遗憾!