【发布时间】:2014-01-10 06:28:23
【问题描述】:
我有一个表 A,其中有一列“template_phash”。我存储从 400K 图像生成的 phash。
现在我拍摄一张随机图像并从该图像生成一个 phash。
现在我如何查询,以便我可以从表 A 中获取汉明距离差小于阈值的记录,例如 20。
我见过Hamming distance on binary strings in SQL,但想不通。
我想我发现我需要创建一个函数来实现这一点,但是如何实现呢?
我的两个 phash 都在 BigInt 中,例如:7641692061273169067
请帮我制作函数,以便我可以像这样查询
SELECT product_id, HAMMING_DISTANCE(phash1, phash2) as hd
FROM A
WHERE hd < 20 ORDER BY hd ASC;
【问题讨论】: