positionalstopfilter.java

来自「Lucene in Action 中文版代码下载」· Java 代码 · 共 34 行

JAVA
34
字号
package lia.analysis.positional;import org.apache.lucene.analysis.TokenStream;import org.apache.lucene.analysis.Token;import org.apache.lucene.analysis.TokenFilter;import java.util.Set;import java.io.IOException;public class PositionalStopFilter extends TokenFilter {  private Set stopWords;  public PositionalStopFilter(TokenStream in, Set stopWords) {    super(in);    this.stopWords = stopWords;  }  public final Token next() throws IOException {    int increment = 0;    for (Token token = input.next();         token != null; token = input.next()) {      if (!stopWords.contains(token.termText())) {        token.setPositionIncrement(            token.getPositionIncrement() + increment);        return token;      }      increment++;    }    return null;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?