blob: 5b66102a6aecaaf7b03b6fcb5a869946bdaa721b [file] [log] [blame]
Index: lucene/contrib/highlighter/src/test/org/apache/lucene/search/vectorhighlight/FieldPhraseList.java
===================================================================
@@ -110,7 +110,7 @@ public class FieldPhraseList {
this.seqnum = number;
termsOffsets = new ArrayList<Toffs>( terms.size() );
TermInfo ti = terms.get( 0 );
- termsOffsets.add( new Toffs( ti.getStartOffset(), ti.getEndOffset() ) );
+ termsOffsets.add( new Toffs( ti.getStartOffset(), ti.getEndOffset(), Integer.toString(ti.getPosition()) ) );
if( terms.size() == 1 ){
text = ti.getText();
return;
@@ -121,12 +121,14 @@ public class FieldPhraseList {
for( int i = 1; i < terms.size(); i++ ){
ti = terms.get( i );
sb.append( ti.getText() );
- if( ti.getPosition() - pos == 1 ){
+ if( ti.getPosition() - pos == 1 )
+ {
Toffs to = termsOffsets.get( termsOffsets.size() - 1 );
to.setEndOffset( ti.getEndOffset() );
+ to.setPositionOffset(Integer.toString(ti.getPosition()) );
}
else{
- termsOffsets.add( new Toffs( ti.getStartOffset(), ti.getEndOffset() ) );
+ termsOffsets.add( new Toffs( ti.getStartOffset(), ti.getEndOffset(), Integer.toString(ti.getPosition()) ) );
}
pos = ti.getPosition();
}
@@ -167,23 +169,38 @@ public class FieldPhraseList {
public static class Toffs {
int startOffset;
int endOffset;
- public Toffs( int startOffset, int endOffset ){
+ String positionOffset;
+
+ public Toffs( int startOffset, int endOffset, String positionOffset ){
this.startOffset = startOffset;
this.endOffset = endOffset;
+ this.positionOffset = positionOffset;
}
public void setEndOffset( int endOffset ){
this.endOffset = endOffset;
}
+
+ public void setPositionOffset( String positionOffset ){
+ StringBuilder sb = new StringBuilder();
+ sb.append( this.getPositionOffset() ).append(',').append(positionOffset);
+ this.positionOffset = sb.toString();
+ }
+
public int getStartOffset(){
return startOffset;
}
public int getEndOffset(){
return endOffset;
}
+
+ public String getPositionOffset(){
+ return positionOffset;
+ }
+
@Override
public String toString(){
StringBuilder sb = new StringBuilder();
- sb.append( '(' ).append( startOffset ).append( ',' ).append( endOffset ).append( ')' );
+ sb.append( '(' ).append( startOffset ).append( ',' ).append( endOffset ).append( ',' ).append( positionOffset ).append( ')' );
return sb.toString();
}
}