【发布时间】:2016-02-19 10:26:32
【问题描述】:
Google guava 实现了经典的布隆过滤器。创建一个涉及指定插入次数和预期的误报概率。我想知道提供的putAll 函数是否可用于创建一个新过滤器,该过滤器允许比传递给它的布隆过滤器参数更多的插入,同时保留相同的 fpp。
【问题讨论】:
标签: guava bloom-filter
Google guava 实现了经典的布隆过滤器。创建一个涉及指定插入次数和预期的误报概率。我想知道提供的putAll 函数是否可用于创建一个新过滤器,该过滤器允许比传递给它的布隆过滤器参数更多的插入,同时保留相同的 fpp。
【问题讨论】:
标签: guava bloom-filter
没有。不会的。
根据 javadoc,当过滤器不兼容时,putAll 函数会引发异常。如果两个布隆过滤器具有相同数量的哈希函数,则它们是兼容的;具有相同的位大小;具有相同的策略,并且;拥有平等的渠道。
哈希函数的数量和位大小是从插入次数和 fpp 速率得出的。使用相同的 fpp 和更大的插入次数创建一个新的布隆过滤器会导致不同的比特大小和哈希函数的数量。
【讨论】: