/** Appends the current contents of writeBuffer as another block on the growing in-memory file */ private int appendBlock(RAMOutputStream writeBuffer, List<byte[]> blocks) throws IOException { int pos = Math.toIntExact(writeBuffer.getFilePointer()); byte[] bytes = new byte[pos]; writeBuffer.writeTo(bytes, 0); writeBuffer.reset(); blocks.add(bytes); return pos; }
writeSkipData(level, skipBuffer[level]); long newChildPointer = skipBuffer[level].getFilePointer();
/** * Writes the buffered skip lists to the given output. * * @param output the IndexOutput the skip lists shall be written to * @return the pointer the skip list starts */ public long writeSkip(IndexOutput output) throws IOException { long skipPointer = output.getFilePointer(); //System.out.println("skipper.writeSkip fp=" + skipPointer); if (skipBuffer == null || skipBuffer.length == 0) return skipPointer; for (int level = numberOfSkipLevels - 1; level > 0; level--) { long length = skipBuffer[level].getFilePointer(); if (length > 0) { output.writeVLong(length); skipBuffer[level].writeTo(output); } } skipBuffer[0].writeTo(output); return skipPointer; } }
assert this == blocks.get(0); assert scratchBytes.getFilePointer() == 0; final byte[] bytes = new byte[(int) scratchBytes.getFilePointer()]; assert bytes.length > 0; scratchBytes.writeTo(bytes, 0);
assert leftNumBytes == 0: "leftNumBytes=" + leftNumBytes; int numBytes2 = Math.toIntExact(writeBuffer.getFilePointer()); byte[] bytes2 = new byte[numBytes2]; writeBuffer.writeTo(bytes2, 0);
byte[] bytes = new byte[(int) out.getFilePointer()]; out.writeTo(bytes, 0); return bytes;
termsOut.writeVInt((int) (suffixWriter.getFilePointer() << 1) | (isLeafBlock ? 1:0)); suffixWriter.writeTo(termsOut); suffixWriter.reset(); termsOut.writeVInt((int) statsWriter.getFilePointer()); statsWriter.writeTo(termsOut); statsWriter.reset(); termsOut.writeVInt((int) metaWriter.getFilePointer()); metaWriter.writeTo(termsOut); metaWriter.reset();
outputs.writeFinalOutput(emptyOutput, ros); byte[] emptyOutputBytes = new byte[(int) ros.getFilePointer()]; ros.writeTo(emptyOutputBytes, 0);
public PostingsWriter reset() { assert buffer.getFilePointer() == 0; lastDocID = 0; docCount = 0; lastPayloadLen = 0; // force first offset to write its length lastOffsetLength = -1; return this; } }
public long getFilePointer() { return ramIndexOutput.getFilePointer(); }
public long getFilePointer() { return ramIndexOutput.getFilePointer(); }
static String buildScrollId(AtomicArray<? extends SearchPhaseResult> searchPhaseResults) throws IOException { try (RAMOutputStream out = new RAMOutputStream()) { out.writeString(searchPhaseResults.length() == 1 ? ParsedScrollId.QUERY_AND_FETCH_TYPE : ParsedScrollId.QUERY_THEN_FETCH_TYPE); out.writeVInt(searchPhaseResults.asList().size()); for (SearchPhaseResult searchPhaseResult : searchPhaseResults.asList()) { out.writeLong(searchPhaseResult.getRequestId()); SearchShardTarget searchShardTarget = searchPhaseResult.getSearchShardTarget(); if (searchShardTarget.getClusterAlias() != null) { out.writeString(RemoteClusterAware.buildRemoteIndexName(searchShardTarget.getClusterAlias(), searchShardTarget.getNodeId())); } else { out.writeString(searchShardTarget.getNodeId()); } } byte[] bytes = new byte[(int) out.getFilePointer()]; out.writeTo(bytes, 0); return Base64.getUrlEncoder().encodeToString(bytes); } }
private void bufferSkip() throws IOException { skipOut.writeVLong(statsOut.getFilePointer() - lastBlockStatsFP); skipOut.writeVLong(metaLongsOut.getFilePointer() - lastBlockMetaLongsFP); skipOut.writeVLong(metaBytesOut.getFilePointer() - lastBlockMetaBytesFP); for (int i = 0; i < longsSize; i++) { skipOut.writeVLong(lastLongs[i] - lastBlockLongs[i]); } lastBlockStatsFP = statsOut.getFilePointer(); lastBlockMetaLongsFP = metaLongsOut.getFilePointer(); lastBlockMetaBytesFP = metaBytesOut.getFilePointer(); System.arraycopy(lastLongs, 0, lastBlockLongs, 0, longsSize); } }
synchronized void free(PerDoc perDoc) { assert freeCount < docFreeList.length; assert 0 == perDoc.numStoredFields; assert 0 == perDoc.fdt.length(); assert 0 == perDoc.fdt.getFilePointer(); docFreeList[freeCount++] = perDoc; }
synchronized void free(PerDoc perDoc) { assert freeCount < docFreeList.length; assert 0 == perDoc.numStoredFields; assert 0 == perDoc.fdt.length(); assert 0 == perDoc.fdt.getFilePointer(); docFreeList[freeCount++] = perDoc; }
/** Appends the current contents of writeBuffer as another block on the growing in-memory file */ private int appendBlock(RAMOutputStream writeBuffer, List<byte[]> blocks) throws IOException { int pos = Math.toIntExact(writeBuffer.getFilePointer()); byte[] bytes = new byte[pos]; writeBuffer.writeTo(bytes, 0); writeBuffer.reset(); blocks.add(bytes); return pos; }
void addField(final int fieldNumber) { if (numVectorFields == fieldNumbers.length) { fieldNumbers = ArrayUtil.grow(fieldNumbers); fieldPointers = ArrayUtil.grow(fieldPointers); } fieldNumbers[numVectorFields] = fieldNumber; fieldPointers[numVectorFields] = tvf.getFilePointer(); numVectorFields++; }
void addField(final int fieldNumber) { if (numVectorFields == fieldNumbers.length) { fieldNumbers = ArrayUtil.grow(fieldNumbers); fieldPointers = ArrayUtil.grow(fieldPointers); } fieldNumbers[numVectorFields] = fieldNumber; fieldPointers[numVectorFields] = tvf.getFilePointer(); numVectorFields++; }
static String buildScrollId(AtomicArray<? extends SearchPhaseResult> searchPhaseResults) throws IOException { try (RAMOutputStream out = new RAMOutputStream()) { out.writeString(searchPhaseResults.length() == 1 ? ParsedScrollId.QUERY_AND_FETCH_TYPE : ParsedScrollId.QUERY_THEN_FETCH_TYPE); out.writeVInt(searchPhaseResults.asList().size()); for (SearchPhaseResult searchPhaseResult : searchPhaseResults.asList()) { out.writeLong(searchPhaseResult.getRequestId()); out.writeString(searchPhaseResult.getSearchShardTarget().getNodeId()); } byte[] bytes = new byte[(int) out.getFilePointer()]; out.writeTo(bytes, 0); return Base64.getUrlEncoder().encodeToString(bytes); } }
public void finishTerm(BytesRef text, BlockTermState state) throws IOException { // write term meta data into fst final FSTTermOutputs.TermData meta = new FSTTermOutputs.TermData(); meta.longs = new long[longsSize]; meta.bytes = null; meta.docFreq = state.docFreq; meta.totalTermFreq = state.totalTermFreq; postingsWriter.encodeTerm(meta.longs, metaWriter, fieldInfo, state, true); final int bytesSize = (int)metaWriter.getFilePointer(); if (bytesSize > 0) { meta.bytes = new byte[bytesSize]; metaWriter.writeTo(meta.bytes, 0); metaWriter.reset(); } builder.add(Util.toIntsRef(text, scratchTerm), meta); numTerms++; }