当前位置: 首页>>代码示例>>Java>>正文


Java ByteArrayDataOutput.reset方法代码示例

本文整理汇总了Java中org.apache.lucene.store.ByteArrayDataOutput.reset方法的典型用法代码示例。如果您正苦于以下问题:Java ByteArrayDataOutput.reset方法的具体用法?Java ByteArrayDataOutput.reset怎么用?Java ByteArrayDataOutput.reset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.lucene.store.ByteArrayDataOutput的用法示例。


在下文中一共展示了ByteArrayDataOutput.reset方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testCloseIntoReader

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
public void testCloseIntoReader() throws IOException {
    try (TranslogWriter writer = translog.createWriter(0)) {
        final int numOps = randomIntBetween(8, 128);
        final byte[] bytes = new byte[4];
        final ByteArrayDataOutput out = new ByteArrayDataOutput(bytes);
        for (int i = 0; i < numOps; i++) {
            out.reset(bytes);
            out.writeInt(i);
            writer.add(new BytesArray(bytes), randomNonNegativeLong());
        }
        writer.sync();
        final Checkpoint writerCheckpoint = writer.getCheckpoint();
        try (TranslogReader reader = writer.closeIntoReader()) {
            for (int i = 0; i < numOps; i++) {
                final ByteBuffer buffer = ByteBuffer.allocate(4);
                reader.readBytes(buffer, reader.getFirstOperationOffset() + 4 * i);
                buffer.flip();
                final int value = buffer.getInt();
                assertEquals(i, value);
            }
            final Checkpoint readerCheckpoint = reader.getCheckpoint();
            assertThat(readerCheckpoint, equalTo(writerCheckpoint));
        }
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:26,代码来源:TranslogTests.java

示例2: encode

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
@Override
protected void encode(ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, BytesRef payload, Set<BytesRef> contexts, long weight) throws IOException {
  if (spare.length + 4 >= buffer.length) {
    buffer = ArrayUtil.grow(buffer, spare.length + 4);
  }
  output.reset(buffer);
  output.writeBytes(spare.bytes, spare.offset, spare.length);
  output.writeInt(encodeWeight(weight));
  writer.write(buffer, 0, output.getPosition());
}
 
开发者ID:europeana,项目名称:search,代码行数:11,代码来源:WFSTCompletionLookup.java

示例3: encode

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
/** encodes an entry (bytes+weight) to the provided writer */
protected void encode(ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight) throws IOException {
  if (spare.length + 8 >= buffer.length) {
    buffer = ArrayUtil.grow(buffer, spare.length + 8);
  }
  output.reset(buffer);
  output.writeBytes(spare.bytes, spare.offset, spare.length);
  output.writeLong(weight);
  writer.write(buffer, 0, output.getPosition());
}
 
开发者ID:europeana,项目名称:search,代码行数:11,代码来源:SortedTermFreqIteratorWrapper.java

示例4: encode

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
@Override
protected void encode(ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, long weight) throws IOException {
  if (spare.length + 4 >= buffer.length) {
    buffer = ArrayUtil.grow(buffer, spare.length + 4);
  }
  output.reset(buffer);
  output.writeBytes(spare.bytes, spare.offset, spare.length);
  output.writeInt(encodeWeight(weight));
  writer.write(buffer, 0, output.getPosition());
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:11,代码来源:WFSTCompletionLookup.java

示例5: encode

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
@Override
protected void encode(ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, BytesRef payload, long weight) throws IOException {
  if (spare.length + 4 >= buffer.length) {
    buffer = ArrayUtil.grow(buffer, spare.length + 4);
  }
  output.reset(buffer);
  output.writeBytes(spare.bytes, spare.offset, spare.length);
  output.writeInt(encodeWeight(weight));
  writer.write(buffer, 0, output.getPosition());
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:11,代码来源:WFSTCompletionLookup.java

示例6: encode

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
/** encodes an entry (bytes+(payload)+weight) to the provided writer */
protected void encode(ByteSequencesWriter writer, ByteArrayDataOutput output, byte[] buffer, BytesRef spare, BytesRef payload, long weight) throws IOException {
  int requiredLength = spare.length + 8 + ((hasPayloads) ? 2 + payload.length : 0);
  if (requiredLength >= buffer.length) {
    buffer = ArrayUtil.grow(buffer, requiredLength);
  }
  output.reset(buffer);
  output.writeBytes(spare.bytes, spare.offset, spare.length);
  if (hasPayloads) {
    output.writeBytes(payload.bytes, payload.offset, payload.length);
    output.writeShort((short) payload.length);
  }
  output.writeLong(weight);
  writer.write(buffer, 0, output.getPosition());
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:16,代码来源:SortedInputIterator.java

示例7: testVariableBinary

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
public void testVariableBinary() throws Exception {
  BaseDirectoryWrapper dir = newFSDirectory(createTempDir("2BVariableBinary"));
  if (dir instanceof MockDirectoryWrapper) {
    ((MockDirectoryWrapper)dir).setThrottling(MockDirectoryWrapper.Throttling.NEVER);
  }
  
  IndexWriter w = new IndexWriter(dir,
      new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()))
      .setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH)
      .setRAMBufferSizeMB(256.0)
      .setMergeScheduler(new ConcurrentMergeScheduler())
      .setMergePolicy(newLogMergePolicy(false, 10))
      .setOpenMode(IndexWriterConfig.OpenMode.CREATE));

  Document doc = new Document();
  byte bytes[] = new byte[4];
  ByteArrayDataOutput encoder = new ByteArrayDataOutput(bytes);
  BytesRef data = new BytesRef(bytes);
  BinaryDocValuesField dvField = new BinaryDocValuesField("dv", data);
  doc.add(dvField);
  
  for (int i = 0; i < Integer.MAX_VALUE; i++) {
    encoder.reset(bytes);
    encoder.writeVInt(i % 65535); // 1, 2, or 3 bytes
    data.length = encoder.getPosition();
    w.addDocument(doc);
    if (i % 100000 == 0) {
      System.out.println("indexed: " + i);
      System.out.flush();
    }
  }
  
  w.forceMerge(1);
  w.close();
  
  System.out.println("verifying...");
  System.out.flush();
  
  DirectoryReader r = DirectoryReader.open(dir);
  int expectedValue = 0;
  ByteArrayDataInput input = new ByteArrayDataInput();
  for (AtomicReaderContext context : r.leaves()) {
    AtomicReader reader = context.reader();
    BinaryDocValues dv = reader.getBinaryDocValues("dv");
    for (int i = 0; i < reader.maxDoc(); i++) {
      final BytesRef term = dv.get(i);
      input.reset(term.bytes, term.offset, term.length);
      assertEquals(expectedValue % 65535, input.readVInt());
      assertTrue(input.eof());
      expectedValue++;
    }
  }
  
  r.close();
  dir.close();
}
 
开发者ID:europeana,项目名称:search,代码行数:57,代码来源:Test2BBinaryDocValues.java

示例8: testVariableBinary

import org.apache.lucene.store.ByteArrayDataOutput; //导入方法依赖的package包/类
public void testVariableBinary() throws Exception {
  BaseDirectoryWrapper dir = newFSDirectory(_TestUtil.getTempDir("2BVariableBinary"));
  if (dir instanceof MockDirectoryWrapper) {
    ((MockDirectoryWrapper)dir).setThrottling(MockDirectoryWrapper.Throttling.NEVER);
  }
  
  IndexWriter w = new IndexWriter(dir,
      new IndexWriterConfig(TEST_VERSION_CURRENT, new MockAnalyzer(random()))
      .setMaxBufferedDocs(IndexWriterConfig.DISABLE_AUTO_FLUSH)
      .setRAMBufferSizeMB(256.0)
      .setMergeScheduler(new ConcurrentMergeScheduler())
      .setMergePolicy(newLogMergePolicy(false, 10))
      .setOpenMode(IndexWriterConfig.OpenMode.CREATE));

  Document doc = new Document();
  byte bytes[] = new byte[4];
  ByteArrayDataOutput encoder = new ByteArrayDataOutput(bytes);
  BytesRef data = new BytesRef(bytes);
  BinaryDocValuesField dvField = new BinaryDocValuesField("dv", data);
  doc.add(dvField);
  
  for (int i = 0; i < Integer.MAX_VALUE; i++) {
    encoder.reset(bytes);
    encoder.writeVInt(i % 65535); // 1, 2, or 3 bytes
    data.length = encoder.getPosition();
    w.addDocument(doc);
    if (i % 100000 == 0) {
      System.out.println("indexed: " + i);
      System.out.flush();
    }
  }
  
  w.forceMerge(1);
  w.close();
  
  System.out.println("verifying...");
  System.out.flush();
  
  DirectoryReader r = DirectoryReader.open(dir);
  int expectedValue = 0;
  ByteArrayDataInput input = new ByteArrayDataInput();
  for (AtomicReaderContext context : r.leaves()) {
    AtomicReader reader = context.reader();
    BytesRef scratch = new BytesRef(bytes);
    BinaryDocValues dv = reader.getBinaryDocValues("dv");
    for (int i = 0; i < reader.maxDoc(); i++) {
      dv.get(i, scratch);
      input.reset(scratch.bytes, scratch.offset, scratch.length);
      assertEquals(expectedValue % 65535, input.readVInt());
      assertTrue(input.eof());
      expectedValue++;
    }
  }
  
  r.close();
  dir.close();
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:58,代码来源:Test2BBinaryDocValues.java


注:本文中的org.apache.lucene.store.ByteArrayDataOutput.reset方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。