All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.whaleal.icefrog.extra.tokenizer.engine.analysis.AnalysisWord Maven / Gradle / Ivy

There is a newer version: 1.1.71
Show newest version
package com.whaleal.icefrog.extra.tokenizer.engine.analysis;

import com.whaleal.icefrog.extra.tokenizer.Word;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.util.Attribute;

/**
 * Lucene-analysis分词中的一个单词包装
 *
 * @author looly
 */
public class AnalysisWord implements Word {
    private static final long serialVersionUID = 1L;

    private final Attribute word;

    /**
     * 构造
     *
     * @param word {@link CharTermAttribute}
     */
    public AnalysisWord( CharTermAttribute word ) {
        this.word = word;
    }

    @Override
    public String getText() {
        return word.toString();
    }

    @Override
    public int getStartOffset() {
        if (this.word instanceof OffsetAttribute) {
            return ((OffsetAttribute) this.word).startOffset();
        }
        return -1;
    }

    @Override
    public int getEndOffset() {
        if (this.word instanceof OffsetAttribute) {
            return ((OffsetAttribute) this.word).endOffset();
        }
        return -1;
    }

    @Override
    public String toString() {
        return getText();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy