我遇到了关于 lucene termvector 偏移的问题,当我使用自定义分析器分析字段时,它会给出 termvector 的无效偏移,但使用标准分析器就可以了,这是我的分析器代码
public class AttachmentNameAnalyzer extends Analyzer {
private boolean stemmTokens;
private String name;
public AttachmentNameAnalyzer(boolean stemmTokens, String name) {
super();
this.stemmTokens = stemmTokens;
this.name = name;
}
@Override
public TokenStream tokenStream(String fieldName, Reader reader) {
TokenStream stream = new AttachmentNameTokenizer(reader);
if (stemmTokens)
stream = new SnowballFilter(stream, name);
return stream;
}
@Override
public TokenStream reusableTokenStream(String fieldName, Reader reader) throws IOException {
TokenStream stream = (TokenStream) getPreviousTokenStream();
if (stream == null) {
stream = new AttachmentNameTokenizer(reader);
if (stemmTokens)
stream = new SnowballFilter(stream, name);
setPreviousTokenStream(stream);
} else if (stream instanceof Tokenizer) {
( (Tokenizer) stream ).reset(reader);
}
return stream;
}
}
这个“需要帮助”有什么问题