0

我正在向基于 JSF 的 CMS 产品添加高级搜索功能

搜索条件 :

如果用户使用关键字 Assets 进行搜索,那么他应该能够获得包含 Asset 以及 Assets 的记录

我发现 Lucene 和 Solr 是进行全文搜索的最佳方式,我已经实现了 Apache Lucene Search,它的工作速度比普通查询结果快,但不能解决我的搜索条件。

是否有任何其他 Java 库可以帮助我达到这个标准?

4

1 回答 1

0

PorterStemmer是在 Lucene 中支持这种词干提取的好选择。特别是,将PorterStemFilter合并到您的分析器中将是典型的方法。链接的文档中列出了一个简单的示例PorterStemFilter,但可能看起来像(在本例中基于 StandardAnalyzer):

class MyStemmerAnalyzer extends Analyzer {
    @override
    public TokenStream tokenStream(String fieldName, Reader reader) {
        TokenStream stream = new StandardTokenizer(reader);
        stream = new StandardFilter(stream);
        stream = new LowerCaseFilter(stream);
        stream = new PorterStemFilter(stream);
        stream = new StopFilter(stream, StopAnalyzer.ENGLISH_STOP_WORDS_SET);
        return stream;
    }
}
于 2013-06-07T17:20:23.307 回答