system.indexes.bloom_filters module¶
Bloom filter implementation for approximate set-membership tests.
- class system.indexes.bloom_filters.BloomFilter(data_objects: list[~typing.Any], number_of_available_bits: int, key_attribute_name: str, bit_sequence_type: ~typing.Type[~system.interfaces.bit_sequence.UncompressedBitSequence], hash_iterator_type: ~typing.Type[~system.indexes.bloom_filters.BloomFilter.HashIterator] = <class 'system.indexes.bloom_filters.BloomFilter.RNGHashIterator'>)[source]¶
Bases:
objectImplements a bloom filters for efficient filtering.
- class HashIterator(key: int, number_of_hash_functions: int, number_of_available_bits: int)[source]¶
Bases:
ABCAbstract iterator to iterate through all hash values for a given key.
- class RNGHashIterator(key: int, number_of_hash_functions: int, number_of_available_bits: int)[source]¶
Bases:
HashIteratorIterator making use of RNGs to create pseudo hash values. NEVER USE THIS IN A PRODUCTION SYSTEM!!