/* This test excludes indexes shipped with pgvector because orioledb doesn't support them yet */ create schema v; create table v.items( id serial primary key, embedding vector(3), half_embedding halfvec(3), bit_embedding bit(3), sparse_embedding sparsevec(3) ); -- Populate some records insert into v.items( embedding, half_embedding, bit_embedding, sparse_embedding ) values ('[1,2,3]', '[1,2,3]', '101', '{1:4}/3'), ('[2,3,4]', '[2,3,4]', '010', '{1:7,3:0}/3'); -- Test op types select * from v.items order by embedding <-> '[2,3,5]', embedding <=> '[2,3,5]', embedding <+> '[2,3,5]', embedding <#> '[2,3,5]', half_embedding <-> '[2,3,5]', half_embedding <=> '[2,3,5]', half_embedding <+> '[2,3,5]', half_embedding <#> '[2,3,5]', sparse_embedding <-> '{2:4,3:1}/3', sparse_embedding <=> '{2:4,3:1}/3', sparse_embedding <+> '{2:4,3:1}/3', sparse_embedding <#> '{2:4,3:1}/3', bit_embedding <~> '011'; id | embedding | half_embedding | bit_embedding | sparse_embedding ----+-----------+----------------+---------------+------------------ 2 | [2,3,4] | [2,3,4] | 010 | {1:7}/3 1 | [1,2,3] | [1,2,3] | 101 | {1:4}/3 (2 rows) select avg(embedding), avg(half_embedding) from v.items; avg | avg ---------------+--------------- [1.5,2.5,3.5] | [1.5,2.5,3.5] (1 row) -- Cleanup drop schema v cascade; NOTICE: drop cascades to table v.items