Spring Ai - PgVector集成:如何防止每次启动应用程序时创建向量存储表的索引?

问题描述 投票:0回答:1

我将 Spring AI 与 pgvector 结合使用,我注意到每次启动应用程序时,都会为 vector_store 表创建一个新索引。

是否有配置可以避免这种行为?

Spring AI版本:1.0.3 JDK版本:17

enter image description here谢谢

spring spring-boot embedding pgvector spring-ai
1个回答
0
投票

我通过将属性

spring.ai.vectorstore.pgvector.index-type
设置为
NONE
并使用以下命令手动创建索引来解决:

CREATE INDEX ON vector_store USING HNSW (embedding vector_cosine_ops);


不知道有没有副作用。阅读文档并不清楚这个选项只是创建索引。

无论如何,应该有一种方法来防止每次应用程序启动时重新创建索引(如果索引已经存在)。

文档

https://docs.spring.io/spring-ai/reference/api/vectordbs/pgvector.html

spring.ai.vectorstore.pgvector.index-type

最近邻搜索索引类型。选项为“无” - 完全最接近 邻居搜索,IVFFlat - 索引将向量划分为列表,然后 搜索最接近查询向量的那些列表的子集。 与 HNSW 相比,它的构建时间更快,使用的内存更少,但 较低的查询性能(在速度与调用权衡方面)。新南威尔士州 - 创建多层图。它的构建时间较慢并且使用更多 内存比 IVFFlat 好,但具有更好的查询性能(就 速度回忆权衡)。没有像 IVFFlat 这样的训练步骤,所以 可以在表中没有任何数据的情况下创建索引。

© www.soinside.com 2019 - 2024. All rights reserved.