Lucene Porter Stemmer不公开 [英] Lucene Porter Stemmer not public

查看:85
本文介绍了Lucene Porter Stemmer不公开的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在Lucene 3.6.2中使用Porter Stemmber类? 这是我所拥有的:

How to use the Porter Stemmber class in Lucene 3.6.2? Here is what I have:

import org.apache.lucene.analysis.PorterStemmer;
...
PorterStemmer stemmer = new PorterStemmer();
term = stemmer.stem(term);

有人告诉我:PorterStemmer在org.apache.lucene.analysis中不是公开的;无法从外部程序包访问.

I am being told: PorterStemmer is not public in org.apache.lucene.analysis; cannot be accessed from outside package.

我也广泛阅读了有关使用Snowball的信息,但不鼓励这样做.什么是在Java中使用Lucene阻止的正确方法?

I also read extensively about using Snowball, but it isn't encouraged. What is the right way to stem using Lucene in Java??

推荐答案

1)如果要将PorterStemmer用作Lucene令牌分析过程的一部分,请使用 PorterStemFilter

1) If you want to use PorterStemmer as part of Lucene token analysis process, use PorterStemFilter

示例代码

 class MyAnalyzer extends Analyzer {
  public final TokenStream tokenStream(String fieldName, Reader reader) {
    return new PorterStemFilter(new LowerCaseTokenizer(reader));
  }
 }


2)如果您只想将PorterStemmer用于任何其他应用程序,则以下是作者本人的源代码: Java中的PorterStemmer

这篇关于Lucene Porter Stemmer不公开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆