/** add a term. This fully consumes in the incoming {@link BytesRef}. */ public void add(String field, BytesRef bytes) { assert lastTerm.equals(new Term("")) || new Term(field, bytes).compareTo(lastTerm) > 0; try { final int prefix; if (size > 0 && field.equals(lastTerm.field)) { // same field as the last term prefix = StringHelper.bytesDifference(lastTerm.bytes, bytes); output.writeVInt(prefix << 1); } else { // field change prefix = 0; output.writeVInt(1); output.writeString(field); } int suffix = bytes.length - prefix; output.writeVInt(suffix); output.writeBytes(bytes.bytes, bytes.offset + prefix, suffix); lastTermBytes.copyBytes(bytes); lastTerm.bytes = lastTermBytes.get(); lastTerm.field = field; size += 1; } catch (IOException e) { throw new RuntimeException(e); } }
lastUpdateField = updateField; out.writeBytes(update.term.bytes().bytes, update.term.bytes().offset, update.term.bytes().length); if (update.hasValue()) { update.writeTo(out);
byte[] savSplitValue = new byte[suffix]; if (suffix > 1) { writeBuffer.writeBytes(splitPackedValues, address+prefix+1, suffix-1);
suffixWriter.writeBytes(term.termBytes, prefixLength, suffix); assert floorLeadLabel == -1 || (term.termBytes[prefixLength] & 0xff) >= floorLeadLabel; suffixWriter.writeBytes(term.termBytes, prefixLength, suffix); suffixWriter.writeBytes(block.prefix.bytes, prefixLength, suffix);
public void writeBytes(byte[] b, int offset, int length) throws IOException { ramIndexOutput.writeBytes(b, offset, length); }
public void writeBytes(byte[] b, int offset, int length) throws IOException { ramIndexOutput.writeBytes(b, offset, length); }
/** add a term */ public void add(String field, BytesRef bytes) { assert lastTerm.equals(new Term("")) || new Term(field, bytes).compareTo(lastTerm) > 0; try { int prefix = sharedPrefix(lastTerm.bytes, bytes); int suffix = bytes.length - prefix; if (field.equals(lastTerm.field)) { output.writeVInt(prefix << 1); } else { output.writeVInt(prefix << 1 | 1); output.writeString(field); } output.writeVInt(suffix); output.writeBytes(bytes.bytes, bytes.offset + prefix, suffix); lastTermBytes.copyBytes(bytes); lastTerm.bytes = lastTermBytes.get(); lastTerm.field = field; size += 1; } catch (IOException e) { throw new RuntimeException(e); } }
/** add a term */ public void add(String field, BytesRef bytes) { assert lastTerm.equals(new Term("")) || new Term(field, bytes).compareTo(lastTerm) > 0; try { int prefix = sharedPrefix(lastTerm.bytes, bytes); int suffix = bytes.length - prefix; if (field.equals(lastTerm.field)) { output.writeVInt(prefix << 1); } else { output.writeVInt(prefix << 1 | 1); output.writeString(field); } output.writeVInt(suffix); output.writeBytes(bytes.bytes, bytes.offset + prefix, suffix); lastTermBytes.copyBytes(bytes); lastTerm.bytes = lastTermBytes.get(); lastTerm.field = field; size += 1; } catch (IOException e) { throw new RuntimeException(e); } }
/** add a term. This fully consumes in the incoming {@link BytesRef}. */ public void add(String field, BytesRef bytes) { assert lastTerm.equals(new Term("")) || new Term(field, bytes).compareTo(lastTerm) > 0; try { final int prefix; if (size > 0 && field.equals(lastTerm.field)) { // same field as the last term prefix = StringHelper.bytesDifference(lastTerm.bytes, bytes); output.writeVInt(prefix << 1); } else { // field change prefix = 0; output.writeVInt(1); output.writeString(field); } int suffix = bytes.length - prefix; output.writeVInt(suffix); output.writeBytes(bytes.bytes, bytes.offset + prefix, suffix); lastTermBytes.copyBytes(bytes); lastTerm.bytes = lastTermBytes.get(); lastTerm.field = field; size += 1; } catch (IOException e) { throw new RuntimeException(e); } }
byte[] savSplitValue = new byte[suffix]; if (suffix > 1) { writeBuffer.writeBytes(splitPackedValues, address+prefix+1, suffix-1);
lastUpdateField = updateField; out.writeBytes(update.term.bytes().bytes, update.term.bytes().offset, update.term.bytes().length); if (update.hasValue()) { update.writeTo(out);
suffixWriter.writeBytes(term.termBytes, prefixLength, suffix); assert floorLeadLabel == -1 || (term.termBytes[prefixLength] & 0xff) >= floorLeadLabel; suffixWriter.writeBytes(term.termBytes, prefixLength, suffix); assert floorLeadLabel == -1 || (term.termBytes[prefixLength] & 0xff) >= floorLeadLabel; suffixWriter.writeBytes(block.prefix.bytes, prefixLength, suffix);
suffixWriter.writeBytes(term.termBytes, prefixLength, suffix); assert floorLeadLabel == -1 || (term.termBytes[prefixLength] & 0xff) >= floorLeadLabel; suffixWriter.writeBytes(term.termBytes, prefixLength, suffix); assert floorLeadLabel == -1 || (term.termBytes[prefixLength] & 0xff) >= floorLeadLabel; suffixWriter.writeBytes(block.prefix.bytes, prefixLength, suffix);
headerBuffer.writeBytes(v.bytes, v.offset, v.length); lastTerm.copyBytes(v); } else { bytesBuffer.writeBytes(v.bytes, v.offset + sharedPrefix, v.length - sharedPrefix);
buffer.writeBytes(payload.bytes, payload.offset, payloadLen);
headerBuffer.writeBytes(v.bytes, v.offset, v.length); lastTerm.copyBytes(v); } else { bytesBuffer.writeBytes(v.bytes, v.offset + sharedPrefix, v.length - sharedPrefix);
headerBuffer.writeBytes(v.bytes, v.offset, v.length); lastTerm.copyBytes(v); } else { bytesBuffer.writeBytes(v.bytes, v.offset + sharedPrefix, v.length - sharedPrefix);
headerBuffer.writeBytes(v.bytes, v.offset, v.length); lastTerm.copyBytes(v); } else { bytesBuffer.writeBytes(v.bytes, v.offset + sharedPrefix, v.length - sharedPrefix);
headerBuffer.writeBytes(v.bytes, v.offset, v.length); lastTerm.copyBytes(v); } else { bytesBuffer.writeBytes(v.bytes, v.offset + sharedPrefix, v.length - sharedPrefix);
bytesWriter.writeBytes(pendingTerms[termCount].term.bytes(), commonPrefix, suffix);