protected int indexedTermPrefixLength(final BytesRef priorTerm,final BytesRef indexedTerm){
  final int idxTermOffset=indexedTerm.offset;
  final int priorTermOffset=priorTerm.offset;
  final int limit=Math.min(priorTerm.length,indexedTerm.length);
  for (int byteIdx=0; byteIdx < limit; byteIdx++) {
    if (priorTerm.bytes[priorTermOffset + byteIdx] != indexedTerm.bytes[idxTermOffset + byteIdx]) {
      return byteIdx + 1;
    }
  }
  return Math.min(1 + priorTerm.length,indexedTerm.length);
}

protected int indexedTermPrefixLength ( final BytesRef priorTerm , final BytesRef indexedTerm ) { final int idxTermOffset = indexedTerm . offset ; final int priorTermOffset = priorTerm . offset ; final int limit = Math . min ( priorTerm . length , indexedTerm . length ) ; for ( int byteIdx = 0 ; byteIdx < limit ; byteIdx ++ ) { if ( priorTerm . bytes [ priorTermOffset + byteIdx ] != indexedTerm . bytes [ idxTermOffset + byteIdx ] ) { return byteIdx + 1 ; } } return Math . min ( 1 + priorTerm . length , indexedTerm . length ) ; }
note : if your codec does not sort in unicode code point order , you must override this method , to simply return indexedterm . length .
