使用ASCIIFoldingFilter的自定义分析器不替换变音符号

时间:2010-09-29 14:20:14

标签: c# java lucene lucene.net diacritics

我们遇到使用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实例?

谢谢!

编辑:我成功解决了这个问题。这是一个配置错误的问题。没有使用自定义分析仪,另一个使用了低位的分析仪。自定义筛选器现在正常工作。遗憾!

0 个答案:

没有答案