8
私は 'template_phash'という列を持つテーブルAを持っています。 400Kの画像から生成されたphashを保存します。2つのphashの間のmysqlハミング距離
ここではランダムな画像を取り、その画像からファッシュを生成します。
は今どのように私はハミング距離の差が閾値未満であるテーブルAからレコードを取得することができるように、クエリ私はHamming distance on binary strings in SQLを見てきました20
言うが、それを把握することができなかったん。
私はこれを達成するための機能を作り出す必要があると思いましたが、どうしたらいいですか?私phashの
の両方が例えばのBigIntである:7641692061273169067
私はハミング距離がちょうど数であることを考え出し
SELECT product_id, HAMMING_DISTANCE(phash1, phash2) as hd
FROM A
WHERE hd < 20 ORDER BY hd ASC;
このアイデアのように!それはどうにかして、このクエリを完全にアイテムのthousendsのすべてのphashを比較する必要はなく、代わりに一度だけ "最も近い"を比較する最適化することは可能ですか? – Manuel