【发布时间】:2012-03-22 04:15:52
【问题描述】:
我想在 Clojure 中构建一个布隆过滤器,但我对基于 JVM 的语言可能可用的所有哈希库了解不多。
对于 Clojure 中最快(而不是最准确)的布隆图实现,我应该使用什么?
【问题讨论】:
-
您的密钥是什么类型的数据?字符串?字节数组?整数? UUID?
-
我正在针对一组字符串测试成员资格
-
您可以尝试对字符串上的
hash()方法报告的内置哈希值重复应用混合哈希函数,例如cris.com/~Ttwang/tech/inthash.htm 生成的值可能相关性太强,这可能会使布隆过滤器失效。我过去使用的一种方法是使用具有很长结果的哈希函数,例如 SHA-256,并将结果分成块。对于您的目的而言,这可能太慢了。最简单的可能只是在谷歌上搜索“字符串哈希函数”并实现它给出的一些结果。
标签: java clojure hash bloom-filter