【问题标题】:Can putAll of guava bloom filter be used to create a new bloom filter of larger size?putAll guava 布隆过滤器可以用来创建更大尺寸的新布隆过滤器吗?
【发布时间】:2016-02-19 10:26:32
【问题描述】:

Google guava 实现了经典的布隆过滤器。创建一个涉及指定插入次数和预期的误报概率。我想知道提供的putAll 函数是否可用于创建一个新过滤器,该过滤器允许比传递给它的布隆过滤器参数更多的插入,同时保留相同的 fpp。

【问题讨论】:

    标签: guava bloom-filter


    【解决方案1】:

    没有。不会的。

    根据 javadoc,当过滤器不兼容时,putAll 函数会引发异常。如果两个布隆过滤器具有相同数量的哈希函数,则它们是兼容的;具有相同的位大小;具有相同的策略,并且;拥有平等的渠道。

    哈希函数的数量和位大小是从插入次数和 fpp 速率得出的。使用相同的 fpp 和更大的插入次数创建一个新的布隆过滤器会导致不同的比特大小和哈希函数的数量。

    【讨论】:

    • 抛出 IllegalArgumentException - 如果 isCompatible(that) == false,一定忽略了
    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 2017-01-21
    • 2011-09-22
    • 1970-01-01
    • 2010-10-12
    相关资源
    最近更新 更多