2015-04-05 47 views
-1

这里是Lucene library类,我想利用.. 优势(利用),但我不知道如何使用/实现该库在Java中..印尼施特默尔使用Lucene

例子: 我有字符串数组>> menjadikan,menjawab,penerbangan

你能帮我创建这样一个数组的Java?

+0

我只知道..我很高兴你给我一个警告并解决问题。我会记住的。 – Lita 2015-04-06 23:38:44

回答

0

以下是使用印度尼西亚语词干创建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)); 
    } 
    }; 

您也可以实例IndonesianStemmer直接,并呼吁个别单词的stem方法。例如;

IndonesianStemmer stemmer = new IndonesianStemmer(); 
    ... 
    char[] chars = "menjadikan".toCharArray(); 
    int len = stemmer.stem(chars, chars.length, false); 
    String stem = new String(chars, 0, len); 

警告:上面的代码没有进行测试。

+0

请解释downvote。 – 2015-04-06 00:40:50

+0

我没有downvote,但是:你提供的StemFilter用法看起来很不寻常,除非在特殊情况下,它不是非常有用。这个问题对我来说很不明确,所以不确定它是否合适。另外,通过问题中给出的例子来判断,你的'stemmer.stem'调用可能应该把'stemDerviational'设置为'true'。尽管如此,不要认为任何这种情况都可能导致失望。他们可能更有可能因为回答他们认为应该被关闭的问题而低估。 – femtoRgon 2015-04-06 06:00:15