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-03-21 UTC."],[[["This webpage provides reference documentation for the `BloomFilter` class within the Google Cloud Firestore v1 API, detailing its implementation and usage in .NET."],["The `BloomFilter` class, which is sealed, implements interfaces such as `IMessage`, `IEquatable`, `IDeepCloneable`, and `IBufferMessage` for comprehensive functionality."],["The class documentation outlines its hashing algorithm, which uses MD5 to generate two 64-bit hash values (`h1` and `h2`) for computing multiple hash values and to be able to test for the given entry."],["The `BloomFilter` has two main properties: `Bits`, which is of type `BitSequence` and holds the bloom filter data, and `HashCount`, which is an integer representing the number of hashes used."],["The documentation includes a version history, and shows the current latest version of the Firestore API to be 3.10.0, with details on each previous version, with 3.4.0 being shown here."]]],[]]