Java 使用Lucene的印尼茎干分析器
这是我想利用的班级。。 但是我不知道如何用Java使用/实现这个库 例如: 我有字符串数组>>menjadikan,menjawab,penerbanganJava 使用Lucene的印尼茎干分析器,java,lucene,stemming,Java,Lucene,Stemming,这是我想利用的班级。。 但是我不知道如何用Java使用/实现这个库 例如: 我有字符串数组>>menjadikan,menjawab,penerbangan 你能用Java帮助我创建这样一个数组吗?下面是一个示例代码片段(基于Lucene测试代码),它使用印尼词干分析器创建Lucene分析器 import java.io.IOException; import java.io.Reader; import org.apache.lucene.analysis.Analyzer; import
你能用Java帮助我创建这样一个数组吗?下面是一个示例代码片段(基于Lucene测试代码),它使用印尼词干分析器创建Lucene分析器
import java.io.IOException;
import java.io.Reader;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.core.KeywordTokenizer;
...
Analyzer a = new Analyzer() {
@Override
public TokenStreamComponents createComponents(
String fieldName, Reader reader) {
Tokenizer tokenizer = new KeywordTokenizer(reader);
return new TokenStreamComponents(tokenizer,
new IndonesianStemFilter(tokenizer));
}
};
您还可以直接实例化indonesianstemer
,并对单个单词调用stem
方法。比如,
IndonesianStemmer stemmer = new IndonesianStemmer();
...
char[] chars = "menjadikan".toCharArray();
int len = stemmer.stem(chars, chars.length, false);
String stem = new String(chars, 0, len);
警告:上面的代码没有经过测试。我没有投反对票,但是:您提供的StemFilter用法似乎很不寻常,除了在非常特殊的情况下,它并不是很有用。这个问题对我来说很不清楚,所以不确定它是否合适,真的。另外,根据问题中给出的示例词判断,您的
stemmer.stem
调用可能应该将stemdervational
设置为true
。不过,我认为这些都不值得投反对票。很可能他们只是因为回答了一个他们认为应该结束的问题而投了反对票。我就知道。。我很高兴你给了我一个警告并解决了这个问题。我会记住的。