PostgreSQL【应用 01】使用Vector插件实现向量相似度查询(Docker部署的PostgreSQL安装pgvector插件说明)和Milvus向量库对比
-- 假设已经有一个名为vector_extensions的PostgreSQL扩展已经安装,并且已经有一个名为vectors的表,其中包含id和vector列。
-- 以下是使用pg_search_vector_pcos函数进行矢量相似度查询的示例:
-- 查询与给定矢量相似的前10个向量
SELECT id, vector_cosine_similarity(vector, '[0.5, 0.3, 0.2, 0.0, 0.6]'::vector) AS similarity
FROM vectors
ORDER BY similarity DESC
LIMIT 10;
-- 查询与给定ID的向量相似的向量
SELECT id, vector_cosine_similarity(v.vector, vectors.vector) AS similarity
FROM vectors, vectors v
WHERE v.id != vectors.id
AND vectors.id = 1
ORDER BY similarity DESC
LIMIT 10;
这个示例展示了如何使用vector_cosine_similarity
函数来计算表中两个向量的余弦相似度,并且按照相似度降序排列结果,取前10个最相似的向量。这是一个在实际应用中常见的操作,对于基于内容的推荐或相似性搜索等场景非常有用。
评论已关闭