传统数据库上的向量搜索插件
很好,现在我们已经知道了向量搜索库和向量数据库之间的区别,下面让我们来看看向量数据库与向量搜索插件有何不同。
很多传统关系型数据库和搜索系统,如 ClickHouse 和 Elasticsearch,都包含内置的向量搜索插件。例如,Elasticsearch 8.0 包括可通过 RESTful API 端点调用向量插入和 ANN 搜索功能。向量搜索插件的问题应该显而易见——没有采用完整堆栈的 Embedding 向量管理和搜索。相反,这些插件仅仅是对现有架构的增强,它们未经优化并有使用限制。在传统数据库上开发非结构化数据应用程序就像试图将锂电池和电动机放入汽油动力汽车的框架中一样——并不是什么好主意。
我们再回忆一下之前介绍的向量数据库应有的功能。向量搜索插件缺少其中两个功能——可调节性和用户友好的 API / SDK。我们将继续使用 Elasticsearch 的 ANN 引擎作为示例,其他向量搜索插件的操作方式和它非常相似,所以我们不会进一步介绍。Elasticsearch 通过 dense_vector 字段支持向量存储,并允许通过 knnsearch endpoint 进行查询:
PUT index {"mappings": {&