本文整理匯總了Java中org.apache.lucene.analysis.tokenattributes.OffsetAttribute.setOffset方法的典型用法代碼示例。如果您正苦於以下問題:Java OffsetAttribute.setOffset方法的具體用法?Java OffsetAttribute.setOffset怎麽用?Java OffsetAttribute.setOffset使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.apache.lucene.analysis.tokenattributes.OffsetAttribute
的用法示例。
在下文中一共展示了OffsetAttribute.setOffset方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: emit
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
private void emit( char[] token ) {
System.out.println( "emit: " + new String( token ) );
if (replaceWhitespaceWith != null) {
token = replaceWhiteSpace( token );
}
CharTermAttribute termAttr = getTermAttribute( );
termAttr.setEmpty( );
termAttr.append( new StringBuilder( ).append( token ) );
OffsetAttribute offAttr = getOffsetAttribute( );
if (offAttr != null && offAttr.endOffset() >= token.length){
int start = offAttr.endOffset() - token.length;
offAttr.setOffset( start, offAttr.endOffset());
}
PositionIncrementAttribute pia = getPositionIncrementAttribute( );
if (pia != null) {
pia.setPositionIncrement( ++positionIncr );
}
lastEmitted = token;
}
示例2: emit
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
private void emit(char[] tokenChars) {
char[] token = tokenChars;
if (replaceWhitespaceWith != null) {
token = replaceWhiteSpace(token);
}
CharTermAttribute termAttr = getTermAttribute();
if (termAttr != null) {
termAttr.setEmpty();
termAttr.append(new StringBuilder().append(token));
}
OffsetAttribute offAttr = getOffsetAttribute();
if (offAttr != null && offAttr.endOffset() >= token.length) {
int start = offAttr.endOffset() - token.length;
offAttr.setOffset(start, offAttr.endOffset());
}
PositionIncrementAttribute pia = getPositionIncrementAttribute();
if (pia != null) {
pia.setPositionIncrement(++positionIncr);
}
lastEmitted = token;
}
示例3: getGramOffsets
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
private List<OffsetAttribute> getGramOffsets(List<String> strings, int min, int max) {
List<OffsetAttribute> ret = new ArrayList<OffsetAttribute>();
for (int i = 0; i < strings.size(); i++) {
if (ConcordanceArrayWindow.isStopOrFieldSeparator(strings.get(i))) {
continue;
}
int nonStops = 0;
for (int j = i; nonStops < max && j < strings.size(); j++) {
String tmp = strings.get(j);
if (ConcordanceArrayWindow.isStop(tmp) ||
(allowFieldSeparators && ConcordanceArrayWindow.isFieldSeparator(tmp))) {
continue;
} else if (!allowFieldSeparators && ConcordanceArrayWindow.isFieldSeparator(tmp)) {
break;
}
nonStops++;
if (nonStops >= min) {
OffsetAttribute offset = new OffsetAttributeImpl();
offset.setOffset(i, j);
ret.add(offset);
}
}
}
return ret;
}
示例4: end
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
@Override
public final void end() {
clearAttributes();
OffsetAttribute offsetAtt = getAttribute(OffsetAttribute.class);
offsetAtt.setOffset(finalOffset, finalOffset);
tokenAttrs.clear();
}
示例5: getGramOffsets
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
private List<OffsetAttribute> getGramOffsets(List<String> strings) {
List<OffsetAttribute> ret = new ArrayList<OffsetAttribute>();
for (int i = 0; i < strings.size(); i++) {
for (int j = i + getMinGram() - 1; j < i + getMaxGram() && j < strings.size(); j++) {
OffsetAttribute off = new OffsetAttributeImpl();
off.setOffset(i, j);
ret.add(off);
}
}
return ret;
}
示例6: copyTo
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
@Override
public void copyTo(AttributeImpl target) {
OffsetAttribute t = (OffsetAttribute) target;
t.setOffset(start, end);
}
示例7: createState
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
private static AttributeSource.State createState(AttributeSource a, Tok state, int tokenEnd) {
a.clearAttributes();
CharTermAttribute termAtt = a.addAttribute(CharTermAttribute.class);
char[] tokChars = state.token.toString().toCharArray();
termAtt.copyBuffer(tokChars, 0, tokChars.length);
int tokenStart = tokenEnd - state.token.length();
for (Entry<String, String> e : state.attr.entrySet()) {
String k = e.getKey();
if (k.equals("i")) {
// position increment
int incr = Integer.parseInt(e.getValue());
PositionIncrementAttribute posIncr = a.addAttribute(PositionIncrementAttribute.class);
posIncr.setPositionIncrement(incr);
} else if (k.equals("s")) {
tokenStart = Integer.parseInt(e.getValue());
} else if (k.equals("e")) {
tokenEnd = Integer.parseInt(e.getValue());
} else if (k.equals("y")) {
TypeAttribute type = a.addAttribute(TypeAttribute.class);
type.setType(e.getValue());
} else if (k.equals("f")) {
FlagsAttribute flags = a.addAttribute(FlagsAttribute.class);
int f = Integer.parseInt(e.getValue(), 16);
flags.setFlags(f);
} else if (k.equals("p")) {
PayloadAttribute p = a.addAttribute(PayloadAttribute.class);
byte[] data = hexToBytes(e.getValue());
if (data != null && data.length > 0) {
p.setPayload(new BytesRef(data));
}
} else {
// unknown attribute
}
}
// handle offset attr
OffsetAttribute offset = a.addAttribute(OffsetAttribute.class);
offset.setOffset(tokenStart, tokenEnd);
State resState = a.captureState();
a.clearAttributes();
return resState;
}
示例8: buildOffsetAttribute
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute; //導入方法依賴的package包/類
private OffsetAttribute buildOffsetAttribute(int start, int end) {
OffsetAttribute off = new OffsetAttributeImpl();
off.setOffset(start, end);
return off;
}