statement ok SET search_path TO pg_temp, vectors; # product quantization statement ok CREATE TABLE t (val vector(3)); statement ok INSERT INTO t (val) SELECT ARRAY[random(), random(), random()]::real[] FROM generate_series(1, 1000); statement ok CREATE INDEX ON t USING vectors (val vector_l2_ops) WITH (options = "[indexing.hnsw.quantization.product]"); statement ok INSERT INTO t (val) VALUES ('[0.6,0.6,0.6]'); query I SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <-> '[0.5,0.5,0.5]' limit 10) t2; ---- 10 query I SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <=> '[0.5,0.5,0.5]' limit 10) t2; ---- 10 query I SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <#> '[0.5,0.5,0.5]' limit 10) t2; ---- 10 statement ok DROP TABLE t; # scalar quantization statement ok CREATE TABLE t (val vector(3)); statement ok INSERT INTO t (val) SELECT ARRAY[random(), random(), random()]::real[] FROM generate_series(1, 1000); statement ok CREATE INDEX ON t USING vectors (val vector_l2_ops) WITH (options = "[indexing.hnsw.quantization.scalar]"); statement ok INSERT INTO t (val) VALUES ('[0.6,0.6,0.6]'); query I SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <-> '[0.5,0.5,0.5]' limit 10) t2; ---- 10 query I SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <=> '[0.5,0.5,0.5]' limit 10) t2; ---- 10 query I SELECT COUNT(1) FROM (SELECT 1 FROM t ORDER BY val <#> '[0.5,0.5,0.5]' limit 10) t2; ---- 10 statement ok DROP TABLE t;