docs/wiki/集成扩展/集成向量数据库.md
本文提供了向 WeKnora 项目添加新向量数据库支持的完整指南。通过实现标准化接口和遵循结构化流程,开发者可以高效地集成自定义向量数据库。
类似的扩展开发模式参见 添加网络搜索引擎
type RetrieveEngine interface {
EngineType() types.RetrieverEngineType
Retrieve(ctx context.Context, params types.RetrieveParams) ([]*types.RetrieveResult, error)
Support() []types.RetrieverType
}
实现 RetrieveEngineRepository 接口,扩展基础检索引擎能力,添加索引管理功能:
Save / BatchSave — 保存索引EstimateStorageSize — 估算存储空间DeleteByChunkIDList / DeleteByKnowledgeIDList — 删除索引CopyIndices — 复制索引创建 RetrieveEngineService 实现,负责索引创建和管理的业务逻辑。
RETRIEVE_DRIVER=postgres,elasticsearch_v8,your_database
YOUR_DATABASE_ADDR=host:port
YOUR_DATABASE_USERNAME=username
YOUR_DATABASE_PASSWORD=password
在 internal/container/container.go 的 initRetrieveEngineRegistry 中添加初始化与注册逻辑。
在 internal/types/retriever.go 中添加新的引擎类型常量。
建议参考现有实现:
internal/application/repository/retriever/postgres/internal/application/repository/retriever/elasticsearch/v7/internal/application/repository/retriever/elasticsearch/v8/