Postgres GIN固定长度位串

时间:2017-01-14 13:31:44

标签: postgresql similarity gin

我尝试在postgres 9.6上的bitsrings上创建GIN以进行快速相似性搜索。

我使用tanimoto / jaccard相似性度量:

tanimoto = popcount(bs1 & bs2)/popcount(bs1 | bs2)

其中0 - 完全不相似,1 - 相同。

更新

popcount - 是真实位数。 bs1,bs2 - bitstrings。

我使用这样的查询:

SELECT bs, tanimoto(B'11100000', bs) as t FROM test WHERE bs % B'11100000'

在桌子上:

 CREATE TABLE test (bs bit(8));

%运营商是bool(tanimoto(bs,B' 11100000')> treshold)

阈值可配置。

如果需要,如何启用GIN或如何实现operator_class?

我想实现这个http://pubs.acs.org/doi/abs/10.1021/ci200552r索引

0 个答案:

没有答案