基于elasticsearch实现大规模向量检索

什么是向量搜索?

向量检索是基于向量之间的距离对已有documents进行相关性排序,和输入document向量距离越小则认为在某个维度上越相似会优先排在前面。
document可以是世界万物,比如图片,一段音视频,一段文字,一张人脸等,对于任何种document, 你都可以根据自己的需求对其进行模型训练,基于训练好的模型抽取特征进完成documents相似性检索。

已有向量搜索方案的对比以及优势

向量检索技术已经出现很久了,相关的技术方案也挺多的,比如:

  1. faiss
  2. Milvus

还有很多其他的, 就不一一列举了。
但是它们大多都是单独的专门为向量检索说下的框架。
我们知道目前最流行的搜索框架是elasticsearch, 有大量的用户群体,它们对传统的搜索提供了丰富的支持,而且性能以及架构都具有很好的可扩展性。
如果想引入向量检索的话,对于已经有搜索框架的公司来说,需要单独搭建一个独立的服务专门提供向量检索服务,如果想要和已有的搜索服务结合的话,那么用于一次请求就需要处理两次,两次的结果再进行整合过滤,这样就明显降低了请求的效率以及增加了资源利用率。
本文介绍的基于elaticsearch提供向量搜索的方案就可以解决这个问题,通过把向量搜索转成全文检索,这样向量检索和传统的检索完美的融合到一起,不仅提升了请求的效率还能提升物理资源的利用率。
不仅如此,还能更好的支持document向量的添加,更新或者删除操作。

基于elasticsearch方案的实现

  • <

你可能感兴趣的:(BigData,AI,计算机视觉,elasticsearch,深度学习,计算机视觉,cnn)