Java 如何使用Lucene实现语音搜索?

Java 如何使用Lucene实现语音搜索?,java,lucene,Java,Lucene,我想使用Lucene 6.1.0实现语音搜索,使用Soundex或任何适合葡萄牙语的算法。我在互联网上发现了许多不完整的示例,教我如何实现自定义标记器、分析器,但这些示例中使用的抽象类似乎与版本6.1.0中的不同。有人能告诉我在哪里可以找到一个很好的Lucene文档,而不仅仅是java文档,而不需要进一步的文档来教我如何将这些东西组合起来吗 提前感谢。演示了如何创建分析仪 对于语音分析,您应该查看该包(您需要将“lucene-analyzers-拼音-6.1.0.jar”添加到构建路径,以及Ap

我想使用Lucene 6.1.0实现语音搜索,使用Soundex或任何适合葡萄牙语的算法。我在互联网上发现了许多不完整的示例,教我如何实现自定义标记器、分析器,但这些示例中使用的抽象类似乎与版本6.1.0中的不同。有人能告诉我在哪里可以找到一个很好的Lucene文档,而不仅仅是java文档,而不需要进一步的文档来教我如何将这些东西组合起来吗

提前感谢。

演示了如何创建分析仪

对于语音分析,您应该查看该包(您需要将“lucene-analyzers-拼音-6.1.0.jar”添加到构建路径,以及Apache的“commons-codec-1.10.jar”,您可以这样做)

然后,您可以设置分析仪,例如:

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);
    }
};