Package org.apache.lucene.util
Class DocIdSetBuilder
- java.lang.Object
-
- org.apache.lucene.util.DocIdSetBuilder
-
public final class DocIdSetBuilder extends Object
A builder ofDocIdSet
s. At first it uses a sparse structure to gather documents, and then upgrades to a non-sparse bit set once enough hits match.To add documents, you first need to call
grow(int)
in order to reserve space, and then callDocIdSetBuilder.BulkAdder.add(int)
on the returnedDocIdSetBuilder.BulkAdder
.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DocIdSetBuilder.BulkAdder
Utility class to efficiently add many docs in one go.
-
Constructor Summary
Constructors Constructor Description DocIdSetBuilder(int maxDoc)
Create a builder that can contain doc IDs between0
andmaxDoc
.DocIdSetBuilder(int maxDoc, PointValues values, String field)
Create aDocIdSetBuilder
instance that is optimized for accumulating docs that match the givenPointValues
.DocIdSetBuilder(int maxDoc, Terms terms)
Create aDocIdSetBuilder
instance that is optimized for accumulating docs that match the givenTerms
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(DocIdSetIterator iter)
Add the content of the providedDocIdSetIterator
to this builder.DocIdSet
build()
Build aDocIdSet
from the accumulated doc IDs.DocIdSetBuilder.BulkAdder
grow(int numDocs)
Reserve space and return aDocIdSetBuilder.BulkAdder
object that can be used to add up tonumDocs
documents.
-
-
-
Constructor Detail
-
DocIdSetBuilder
public DocIdSetBuilder(int maxDoc)
Create a builder that can contain doc IDs between0
andmaxDoc
.
-
DocIdSetBuilder
public DocIdSetBuilder(int maxDoc, Terms terms) throws IOException
Create aDocIdSetBuilder
instance that is optimized for accumulating docs that match the givenTerms
.- Throws:
IOException
-
DocIdSetBuilder
public DocIdSetBuilder(int maxDoc, PointValues values, String field) throws IOException
Create aDocIdSetBuilder
instance that is optimized for accumulating docs that match the givenPointValues
.- Throws:
IOException
-
-
Method Detail
-
add
public void add(DocIdSetIterator iter) throws IOException
Add the content of the providedDocIdSetIterator
to this builder. NOTE: if you need to build aDocIdSet
out of a singleDocIdSetIterator
, you should rather useRoaringDocIdSet.Builder
.- Throws:
IOException
-
grow
public DocIdSetBuilder.BulkAdder grow(int numDocs)
Reserve space and return aDocIdSetBuilder.BulkAdder
object that can be used to add up tonumDocs
documents.
-
-