Java Code Examples for org.apache.lucene.index.SegmentCommitInfo#getDelCount()
The following examples show how to use
org.apache.lucene.index.SegmentCommitInfo#getDelCount() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Lucene50LiveDocsFormat.java From lucene-solr with Apache License 2.0 | 6 votes |
@Override public void writeLiveDocs(Bits bits, Directory dir, SegmentCommitInfo info, int newDelCount, IOContext context) throws IOException { long gen = info.getNextDelGen(); String name = IndexFileNames.fileNameFromGeneration(info.info.name, EXTENSION, gen); int delCount = 0; try (IndexOutput output = dir.createOutput(name, context)) { CodecUtil.writeIndexHeader(output, CODEC_NAME, VERSION_CURRENT, info.info.getId(), Long.toString(gen, Character.MAX_RADIX)); final int longCount = FixedBitSet.bits2words(bits.length()); for (int i = 0; i < longCount; ++i) { long currentBits = 0; for (int j = i << 6, end = Math.min(j + 63, bits.length() - 1); j <= end; ++j) { if (bits.get(j)) { currentBits |= 1L << j; // mod 64 } else { delCount += 1; } } output.writeLong(currentBits); } CodecUtil.writeFooter(output); } if (delCount != info.getDelCount() + newDelCount) { throw new CorruptIndexException("bits.deleted=" + delCount + " info.delcount=" + info.getDelCount() + " newdelcount=" + newDelCount, name); } }
Example 2
Source File: Segment.java From lucene-solr with Apache License 2.0 | 5 votes |
static Segment of(SegmentCommitInfo segInfo) { Segment segment = new Segment(); segment.name = segInfo.info.name; segment.maxDoc = segInfo.info.maxDoc(); segment.delGen = segInfo.getDelGen(); segment.delCount = segInfo.getDelCount(); segment.luceneVer = segInfo.info.getVersion().toString(); segment.codecName = segInfo.info.getCodec().getName(); try { segment.displaySize = CommitsImpl.toDisplaySize(segInfo.sizeInBytes()); } catch (IOException e) { } segment.useCompoundFile = segInfo.info.getUseCompoundFile(); return segment; }
Example 3
Source File: Lucene50LiveDocsFormat.java From lucene-solr with Apache License 2.0 | 5 votes |
@Override public Bits readLiveDocs(Directory dir, SegmentCommitInfo info, IOContext context) throws IOException { long gen = info.getDelGen(); String name = IndexFileNames.fileNameFromGeneration(info.info.name, EXTENSION, gen); final int length = info.info.maxDoc(); try (ChecksumIndexInput input = dir.openChecksumInput(name, context)) { Throwable priorE = null; try { CodecUtil.checkIndexHeader(input, CODEC_NAME, VERSION_START, VERSION_CURRENT, info.info.getId(), Long.toString(gen, Character.MAX_RADIX)); long data[] = new long[FixedBitSet.bits2words(length)]; for (int i = 0; i < data.length; i++) { data[i] = input.readLong(); } FixedBitSet fbs = new FixedBitSet(data, length); if (fbs.length() - fbs.cardinality() != info.getDelCount()) { throw new CorruptIndexException("bits.deleted=" + (fbs.length() - fbs.cardinality()) + " info.delcount=" + info.getDelCount(), input); } return fbs.asReadOnlyBits(); } catch (Throwable exception) { priorE = exception; } finally { CodecUtil.checkFooter(input, priorE); } } throw new AssertionError(); }
Example 4
Source File: Lucene.java From crate with Apache License 2.0 | 5 votes |
/** * Returns the number of documents in the index referenced by this {@link SegmentInfos} */ public static int getNumDocs(SegmentInfos info) { int numDocs = 0; for (SegmentCommitInfo si : info) { numDocs += si.info.maxDoc() - si.getDelCount() - si.getSoftDelCount(); } return numDocs; }