Module org.apache.lucene.codecs
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:
java.io.Closeable
,java.lang.AutoCloseable
- Enclosing class:
- BloomFilteringPostingsFormat
class BloomFilteringPostingsFormat.BloomFilteredFieldsConsumer extends FieldsConsumer
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<FieldInfo,FuzzySet>
bloomFilters
private boolean
closed
private FieldsConsumer
delegateFieldsConsumer
private SegmentWriteState
state
-
Constructor Summary
Constructors Constructor Description BloomFilteredFieldsConsumer(FieldsConsumer fieldsConsumer, SegmentWriteState state)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
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 Detail
-
delegateFieldsConsumer
private FieldsConsumer delegateFieldsConsumer
-
state
private SegmentWriteState state
-
closed
private boolean closed
-
-
Constructor Detail
-
BloomFilteredFieldsConsumer
public BloomFilteredFieldsConsumer(FieldsConsumer fieldsConsumer, SegmentWriteState state)
-
-
Method Detail
-
write
public void write(Fields fields, NormsProducer norms) throws java.io.IOException
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:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Specified by:
close
in classFieldsConsumer
- Throws:
java.io.IOException
-
saveAppropriatelySizedBloomFilter
private void saveAppropriatelySizedBloomFilter(IndexOutput bloomOutput, FuzzySet bloomFilter, FieldInfo fieldInfo) throws java.io.IOException
- Throws:
java.io.IOException
-
-