使用pgvector插件 >返回的是负内积,因为Postgres只支持运算符上的ASC顺序索引扫描 plaintext SELECT FROM items ORDER BY embedding '[3,1,2]'; 进阶使用 计算距离 plaintext SELECT embedding '[3,1,2]' AS distance FROM items; SELECT (embedding '[3,1,2]') 1 AS innerproduct FROM items; SELECT 1 (embedding '[3,1,2]') AS cosinesimilarity FROM items; 聚合函数 plaintext SELECT AVG(embedding) FROM items; 精确搜索是有完美召回率的 可以添加索引使用近似最近邻搜索,牺牲一些召回率来换取性能 plaintext CREATE INDEX ON items USING ivfflat (embedding vectorl2ops) WITH (lists 1); INSERT INTO items (embedding) VALUES ('[1,2,4]'); SELECT FROM items ORDER BY embedding '[3,3,3]';