text: public long seek(BytesRef target) {long lo = 0;          long hi = fieldIndex.numIndexTerms - 1;while (hi >= lo) {long mid = (lo + hi) >>> 1;final long offset = fieldIndex.termOffsets.get(mid);final int length = (int) (fieldIndex.termOffsets.get(1+mid) - offset);termBytesReader.fillSlice(term, fieldIndex.termBytesStart + offset, length);int delta = target.compareTo(term);if (delta < 0) {hi = mid - 1;} else if (delta > 0) {lo = mid + 1;} else {assert mid >= 0;ord = mid*indexInterval;return fieldIndex.termsStart + fieldIndex.termsDictOffsets.get(mid);}}if (hi < 0) {assert hi == -1;hi = 0;}final long offset = fieldIndex.termOffsets.get(hi);final int length = (int) (fieldIndex.termOffsets.get(1+hi) - offset);termBytesReader.fillSlice(term, fieldIndex.termBytesStart + offset, length);ord = hi*indexInterval;return fieldIndex.termsStart + fieldIndex.termsDictOffsets.get(hi);}