kept for a couple of days and then discarded
Bloom过滤器不支持删除对象,仅支持插入.
如果有多个Bloom筛选器,则必须全部查询它们,以检查其中之一是否包含所需的对象.
如果乳清具有相同的结构(相同的大小,相同的哈希函数等),则可以有效合并Bloom过滤器.
并合并两个过滤器,如下所示:
BloomFilter merge(BloomFilter dstFilter, BloomFilter srcFilter) {
OpenBitSet dst = dstFilter.bitset;
OpenBitSet src = srcFilter.bitset;
for (int i = 0; i < src.getPageCount(); ++i) {
long[] dstBits = dst.getPage(i);
long[] srcBits = src.getPage(i);
for (int j = 0; j < srcBits.length; ++j) {
dstBits[j] |= srcBits[j];
}
dst.setPage(i, dstBits);
}
return dstFilter;
}