• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java StoredFieldsReader类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.lucene.codecs.StoredFieldsReader的典型用法代码示例。如果您正苦于以下问题:Java StoredFieldsReader类的具体用法?Java StoredFieldsReader怎么用?Java StoredFieldsReader使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



StoredFieldsReader类属于org.apache.lucene.codecs包,在下文中一共展示了StoredFieldsReader类的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: merge

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public int merge(MergeState mergeState) throws IOException {
  int docCount = 0;
  // Used for bulk-reading raw bytes for stored fields
  int rawDocLengths[] = new int[MAX_RAW_MERGE_DOCS];
  int idx = 0;
  
  for (AtomicReader reader : mergeState.readers) {
    final SegmentReader matchingSegmentReader = mergeState.matchingSegmentReaders[idx++];
    Lucene40StoredFieldsReader matchingFieldsReader = null;
    if (matchingSegmentReader != null) {
      final StoredFieldsReader fieldsReader = matchingSegmentReader.getFieldsReader();
      // we can only bulk-copy if the matching reader is also a Lucene40FieldsReader
      if (fieldsReader != null && fieldsReader instanceof Lucene40StoredFieldsReader) {
        matchingFieldsReader = (Lucene40StoredFieldsReader) fieldsReader;
      }
    }
  
    if (reader.getLiveDocs() != null) {
      docCount += copyFieldsWithDeletions(mergeState,
                                          reader, matchingFieldsReader, rawDocLengths);
    } else {
      docCount += copyFieldsNoDeletions(mergeState,
                                        reader, matchingFieldsReader, rawDocLengths);
    }
  }
  finish(mergeState.fieldInfos, docCount);
  return docCount;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:30,代码来源:Lucene40StoredFieldsWriter.java


示例2: clone

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader clone() {
  if (in == null) {
    throw new AlreadyClosedException("this FieldsReader is closed");
  }
  return new SimpleTextStoredFieldsReader(offsets, in.clone(), fieldInfos);
}
 
开发者ID:europeana,项目名称:search,代码行数:8,代码来源:SimpleTextStoredFieldsReader.java


示例3: fieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si,
    FieldInfos fn, IOContext context) throws IOException {
  return new Lucene40StoredFieldsReader(directory, si, fn, context);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:6,代码来源:Lucene40StoredFieldsFormat.java


示例4: clone

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader clone() {
  ensureOpen();
  return new CompressingStoredFieldsReader(this);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:6,代码来源:CompressingStoredFieldsReader.java


示例5: merge

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public int merge(MergeState mergeState) throws IOException {
  int docCount = 0;
  int idx = 0;

  for (AtomicReader reader : mergeState.readers) {
    final SegmentReader matchingSegmentReader = mergeState.matchingSegmentReaders[idx++];
    CompressingStoredFieldsReader matchingFieldsReader = null;
    if (matchingSegmentReader != null) {
      final StoredFieldsReader fieldsReader = matchingSegmentReader.getFieldsReader();
      // we can only bulk-copy if the matching reader is also a CompressingStoredFieldsReader
      if (fieldsReader != null && fieldsReader instanceof CompressingStoredFieldsReader) {
        matchingFieldsReader = (CompressingStoredFieldsReader) fieldsReader;
      }
    }

    final int maxDoc = reader.maxDoc();
    final Bits liveDocs = reader.getLiveDocs();

    if (matchingFieldsReader == null
        || matchingFieldsReader.getVersion() != VERSION_CURRENT // means reader version is not the same as the writer version
        || matchingFieldsReader.getCompressionMode() != compressionMode
        || matchingFieldsReader.getChunkSize() != chunkSize) { // the way data is decompressed depends on the chunk size
      // naive merge...
      for (int i = nextLiveDoc(0, liveDocs, maxDoc); i < maxDoc; i = nextLiveDoc(i + 1, liveDocs, maxDoc)) {
        Document doc = reader.document(i);
        addDocument(doc, mergeState.fieldInfos);
        ++docCount;
        mergeState.checkAbort.work(300);
      }
    } else {
      int docID = nextLiveDoc(0, liveDocs, maxDoc);
      if (docID < maxDoc) {
        // not all docs were deleted
        final ChunkIterator it = matchingFieldsReader.chunkIterator(docID);
        int[] startOffsets = new int[0];
        do {
          // go to the next chunk that contains docID
          it.next(docID);
          // transform lengths into offsets
          if (startOffsets.length < it.chunkDocs) {
            startOffsets = new int[ArrayUtil.oversize(it.chunkDocs, 4)];
          }
          for (int i = 1; i < it.chunkDocs; ++i) {
            startOffsets[i] = startOffsets[i - 1] + it.lengths[i - 1];
          }

          // decompress
          it.decompress();
          if (startOffsets[it.chunkDocs - 1] + it.lengths[it.chunkDocs - 1] != it.bytes.length) {
            throw new CorruptIndexException("Corrupted: expected chunk size=" + startOffsets[it.chunkDocs - 1] + it.lengths[it.chunkDocs - 1] + ", got " + it.bytes.length);
          }
          // copy non-deleted docs
          for (; docID < it.docBase + it.chunkDocs; docID = nextLiveDoc(docID + 1, liveDocs, maxDoc)) {
            final int diff = docID - it.docBase;
            startDocument();
            bufferedDocs.writeBytes(it.bytes.bytes, it.bytes.offset + startOffsets[diff], it.lengths[diff]);
            numStoredFieldsInDoc = it.numStoredFields[diff];
            finishDocument();
            ++docCount;
            mergeState.checkAbort.work(300);
          }
        } while (docID < maxDoc);

        it.checkIntegrity();
      }
    }
  }
  finish(mergeState.fieldInfos, docCount);
  return docCount;
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:72,代码来源:CompressingStoredFieldsWriter.java


示例6: fieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si,
    FieldInfos fn, IOContext context) throws IOException {
  return new CompressingStoredFieldsReader(directory, si, segmentSuffix, fn, 
      context, formatName, compressionMode);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:7,代码来源:CompressingStoredFieldsFormat.java


示例7: fieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si,
    FieldInfos fn, IOContext context) throws IOException {
  return new Lucene3xStoredFieldsReader(directory, si, fn, context);
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:6,代码来源:Lucene3xStoredFieldsFormat.java


示例8: getFieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
/** Expert: retrieve thread-private {@link
 *  StoredFieldsReader}
 *  @lucene.internal */
public StoredFieldsReader getFieldsReader() {
  ensureOpen();
  return core.fieldsReaderLocal.get();
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:8,代码来源:SegmentReader.java


示例9: initialValue

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
protected StoredFieldsReader initialValue() {
  return fieldsReaderOrig.clone();
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:5,代码来源:SegmentCoreReaders.java


示例10: fieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context) throws IOException {;
  return new SimpleTextStoredFieldsReader(directory, si, fn, context);
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:SimpleTextStoredFieldsFormat.java


示例11: fieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context) throws IOException {
  return new AssertingStoredFieldsReader(in.fieldsReader(directory, si, fn, context), si.getDocCount());
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:AssertingStoredFieldsFormat.java


示例12: AssertingStoredFieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
AssertingStoredFieldsReader(StoredFieldsReader in, int maxDoc) {
  this.in = in;
  this.maxDoc = maxDoc;
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:AssertingStoredFieldsFormat.java


示例13: clone

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader clone() {
  return new AssertingStoredFieldsReader(in.clone(), maxDoc);
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:AssertingStoredFieldsFormat.java


示例14: fieldsReader

import org.apache.lucene.codecs.StoredFieldsReader; //导入依赖的package包/类
@Override
public StoredFieldsReader fieldsReader(Directory directory, SegmentInfo si, FieldInfos fn, IOContext context) throws IOException {
  return delegate.fieldsReader(directory, si, fn, context);
}
 
开发者ID:europeana,项目名称:search,代码行数:5,代码来源:CrankyStoredFieldsFormat.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java LocalHistoryAction类代码示例发布时间:2022-05-22
下一篇:
Java InternetExplorerOptions类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap