public UIDFilter(long[] filteredIDs, ZoieMultiReader<?> reader) { _filteredIDs = filteredIDs; _subZoieReaders = reader.getSubReaders(); }
public UIDFilter(long[] filteredIDs, ZoieMultiReader<?> reader) { _filteredIDs = filteredIDs; _subZoieReaders = reader.getSubReaders(); }
public void commitDeletes() { ZoieSegmentReader<R>[] subReaders = getSubReaders(); if (subReaders != null && subReaders.length > 0) { for (ZoieSegmentReader<R> subReader : subReaders) { subReader.commitDeletes(); } } }
public void markDeletes(LongSet delDocs, LongSet deletedUIDs) { ZoieSegmentReader<R>[] subReaders = getSubReaders(); if (subReaders != null && subReaders.length > 0) { for (ZoieSegmentReader<R> subReader : subReaders) { subReader.markDeletes(delDocs, deletedUIDs); } } }
public void markDeletes(LongSet delDocs, LongSet deletedUIDs) { ZoieSegmentReader<R>[] subReaders = getSubReaders(); if (subReaders != null && subReaders.length > 0) { for (ZoieSegmentReader<R> subReader : subReaders) { subReader.markDeletes(delDocs, deletedUIDs); } } }
@Override public void onIndexReaderCleanUp(ZoieMultiReader<IndexReader> indexReader) { ZoieSegmentReader<?>[] segments = indexReader.getSubReaders(); for (ZoieSegmentReader<?> segmentReader : segments) { handleSegment(segmentReader); } }
public void commitDeletes() { ZoieSegmentReader<R>[] subReaders = getSubReaders(); if (subReaders != null && subReaders.length > 0) { for (ZoieSegmentReader<R> subReader : subReaders) { subReader.commitDeletes(); } } }
@Override public DocIDMapper getDocIDMapper(final ZoieMultiReader<?> reader) throws IOException { final ZoieSegmentReader<?>[] zoieSegmentReaders = reader.getSubReaders(); final DocIDMapper[] mappers = new DocIDMapper[zoieSegmentReaders.length]; for (int i = 0; i < zoieSegmentReaders.length; ++i) { // reuse DocIDMapper since ZoieSegmentReader may be reused if (zoieSegmentReaders[i].getDocIDMapper() != null) { mappers[i] = zoieSegmentReaders[i].getDocIDMapper(); } else { mappers[i] = getDocIDMapper(zoieSegmentReaders[i]); zoieSegmentReaders[i].setDocIDMapper(mappers[i]); } } return new DocIDMapper() { @Override public int getDocID(long uid) { int docid; for (int i = mappers.length - 1; i >= 0; --i) { docid = mappers[i].getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { return docid + reader.getSubReaderBase(i); } } return DocIDMapper.NOT_FOUND; } }; } }
@Override public DocIDMapper getDocIDMapper(final ZoieMultiReader<?> reader) throws IOException { final ZoieSegmentReader<?>[] zoieSegmentReaders = reader.getSubReaders(); final DocIDMapper[] mappers = new DocIDMapper[zoieSegmentReaders.length]; for (int i = 0; i < zoieSegmentReaders.length; ++i) { // reuse DocIDMapper since ZoieSegmentReader may be reused if (zoieSegmentReaders[i].getDocIDMapper() != null) { mappers[i] = zoieSegmentReaders[i].getDocIDMapper(); } else { mappers[i] = getDocIDMapper(zoieSegmentReaders[i]); zoieSegmentReaders[i].setDocIDMapper(mappers[i]); } } return new DocIDMapper() { @Override public int getDocID(long uid) { int docid; for (int i = mappers.length - 1; i >= 0; --i) { docid = mappers[i].getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { return docid; } } return DocIDMapper.NOT_FOUND; } }; } }