The bloom filter hashes the entries with MD5 and treats the resulting 128-bit
hash as 2 distinct 64-bit hash values, interpreted as unsigned integers
using 2's complement encoding.
These two hash values, named h1 and h2, are then used to compute the
hash_count hash values using the formula, starting at i=0:
h(i) = h1 + (i * h2)
These resulting values are then taken modulo the number of bits in the bloom
filter to get the bits of the bloom filter to test for the given entry.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-02 UTC."],[[["The `BloomFilter` class in the Google Cloud Firestore v1 API provides a space-efficient probabilistic data structure for testing whether an element is a member of a set."],["This class implements several interfaces, including `IMessage`, `IEquatable`, `IDeepCloneable`, and `IBufferMessage`, offering functionalities such as deep cloning and efficient message handling."],["`BloomFilter` can be constructed either with default values using `BloomFilter()` or by cloning an existing `BloomFilter` instance using `BloomFilter(BloomFilter other)`."],["The class utilizes two key properties: `Bits`, which represents the actual bloom filter data as a `BitSequence`, and `HashCount`, an integer that defines the number of hashes used in the algorithm."],["The most recent version of the BloomFilter is `3.10.0` in the document, and it goes back to version `2.3.0`."]]],[]]