我想使用Lucene 6.1.0实现语音搜索,使用Soundex或任何合适的葡萄牙语算法。我在互联网上发现了许多不完整的例子,教导了如何实现自定义标记器,分析器,但似乎这些例子中使用的抽象类在6.1.0版本中并不相同。任何人都可以指出我在哪里可以找到一个好的文档Lucene,而不仅仅是java文档而没有任何进一步的文档教学如何将这些东西放在一起?
提前致谢。
答案 0 :(得分:6)
Analyzer documentation显示了如何创建分析器。
对于语音分析,您应该查看org.apache.lucene.analysis.phonetic包(您需要在构建路径中添加“lucene-analyzers-phonetic-6.1.0.jar”,以及Apache的“commons-” codec-1.10.jar“,你可以get here)。
然后您可以设置您的分析器,例如:
Analyzer analyzer = new Analyzer() {
@Override
protected TokenStreamComponents createComponents(String fieldName) {
Tokenizer tokenizer = new StandardTokenizer();
TokenStream stream = new DoubleMetaphoneFilter(tokenizer, 6, false);
return new TokenStreamComponents(tokenizer, stream);
}
};