Package org.apache.lucene.codecs.bloom

# Class BloomFilterFactory

java.lang.Object
org.apache.lucene.codecs.bloom.BloomFilterFactory

Direct Known Subclasses:
  `DefaultBloomFilterFactory`

public abstract class BloomFilterFactory extends Object
Class used to create index-time `FuzzySet` appropriately configured for each field. Also called to right-size bitsets for serialization.

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Constructor Summary

Constructors
Constructor
Description
`BloomFilterFactory()`

## Method Summary

Modifier and Type
Method
Description
`FuzzySet`
`downsize(FieldInfo fieldInfo, FuzzySet initialSet)`
Called when downsizing bitsets for serialization
`abstract FuzzySet`
`getSetForField(SegmentWriteState state, FieldInfo info)`
`abstract boolean`
`isSaturated(FuzzySet bloomFilter, FieldInfo fieldInfo)`
Used to determine if the given filter has reached saturation and should be retired i.e.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BloomFilterFactory

public BloomFilterFactory()

## Method Details

### getSetForField

public abstract FuzzySet getSetForField(SegmentWriteState state, FieldInfo info)

Parameters:
  `state` - The content to be indexed
  `info` - the field requiring a BloomFilter
Returns:
  An appropriately sized set or null if no BloomFiltering required

### downsize

public FuzzySet downsize(FieldInfo fieldInfo, FuzzySet initialSet)
Called when downsizing bitsets for serialization

Parameters:
  `fieldInfo` - The field with sparse set bits
  `initialSet` - The bits accumulated
Returns:
  null or a hopefully more densely packed, smaller bitset

### isSaturated

public abstract boolean isSaturated(FuzzySet bloomFilter, FieldInfo fieldInfo)
Used to determine if the given filter has reached saturation and should be retired i.e. not saved any more

Parameters:
  `bloomFilter` - The bloomFilter being tested
  `fieldInfo` - The field with which this filter is associated
Returns:
  true if the set has reached saturation and should be retired