【发布时间】:2021-12-27 11:15:23
【问题描述】:
我已经弄清楚了如何使用 Lucene 的 Porter Stemmer,但还想检索原始的、未提取词干的词。所以,为此,我在创建PorterStemFilter之前给TokenStream添加了一个CharTermAttribute,如下:
Analyzer analyzer = new StandardAnalyzer();
TokenStream original = analyzer.tokenStream("StandardTokenStream", new StringReader(inputText));
TokenStream stemmed = new PorterStemFilter(original);
CharTermAttribute originalWordAttribute = original.addAttribute(CharTermAttribute.class);
CharTermAttribute stemmedWordAttribute = stemmed.addAttribute(CharTermAttribute.class);
stemmed.reset();
while (stemmed.incrementToken()) {
System.out.println(stemmedWordAttribute+" "+originalWordAttribute);
}
不幸的是,这两个属性都返回了词干。 有没有办法也能得到原词?
【问题讨论】: