Package org.apache.lucene.codecs.bloom
Class BloomFilteringPostingsFormat.BloomFilteredFieldsConsumer
java.lang.Object
org.apache.lucene.codecs.FieldsConsumer
org.apache.lucene.codecs.bloom.BloomFilteringPostingsFormat.BloomFilteredFieldsConsumer
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Enclosing class:
- BloomFilteringPostingsFormat
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private FieldsConsumer
private SegmentWriteState
-
Constructor Summary
ConstructorsConstructorDescriptionBloomFilteredFieldsConsumer
(FieldsConsumer fieldsConsumer, SegmentWriteState state) -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
private void
saveAppropriatelySizedBloomFilter
(IndexOutput bloomOutput, FuzzySet bloomFilter, FieldInfo fieldInfo) void
write
(Fields fields, NormsProducer norms) Write all fields, terms and postings.Methods inherited from class org.apache.lucene.codecs.FieldsConsumer
merge
-
Field Details
-
delegateFieldsConsumer
-
bloomFilters
-
state
-
closed
private boolean closed
-
-
Constructor Details
-
BloomFilteredFieldsConsumer
-
-
Method Details
-
write
Description copied from class:FieldsConsumer
Write all fields, terms and postings. This the "pull" API, allowing you to iterate more than once over the postings, somewhat analogous to using a DOM API to traverse an XML tree.Notes:
- You must compute index statistics, including each Term's docFreq and totalTermFreq, as well as the summary sumTotalTermFreq, sumTotalDocFreq and docCount.
- You must skip terms that have no docs and fields that have no terms, even though the provided Fields API will expose them; this typically requires lazily writing the field or term until you've actually seen the first term or document.
- The provided Fields instance is limited: you cannot call any methods that return statistics/counts; you cannot pass a non-null live docs when pulling docs/positions enums.
- Specified by:
write
in classFieldsConsumer
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classFieldsConsumer
- Throws:
IOException
-
saveAppropriatelySizedBloomFilter
private void saveAppropriatelySizedBloomFilter(IndexOutput bloomOutput, FuzzySet bloomFilter, FieldInfo fieldInfo) throws IOException - Throws:
IOException
-