Index: contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java =================================================================== --- contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java (revision 728849) +++ contrib/highlighter/src/java/org/apache/lucene/search/highlight/Highlighter.java (working copy) @@ -217,17 +217,18 @@ try { - final Token reusableToken = new Token(); + final Token reusableToken = new Token(); String tokenText; int startOffset; int endOffset; int lastEndOffset = 0; + int maxOffset = Math.min(text.length(), maxDocCharsToAnalyze); textFragmenter.start(text); TokenGroup tokenGroup=new TokenGroup(); for (Token nextToken = tokenStream.next(reusableToken); - (nextToken!= null)&&(nextToken.startOffset()< maxDocCharsToAnalyze); + (nextToken!= null)&&(nextToken.startOffset()< maxOffset); nextToken = tokenStream.next(reusableToken)) { if((tokenGroup.numTokens>0)&&(tokenGroup.isDistinct(nextToken)))