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

本文介绍了如何利用Elasticsearch实现大规模向量检索,将向量搜索转化为全文检索,提升请求效率并减少资源浪费。通过选择合适的模型,如CNN,对数据进行特征抽取,然后采用PQ或OPQ编码技术,将向量转换为codes,最后将这些codes存储到Elasticsearch中,实现向量与传统搜索的融合。

什么是向量搜索?

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

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

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

  1. faiss
  2. Milvus

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

基于elasticsearch方案的实现

  • 根据具体的需求选择合适的模型

    第一步就是明确自己的向量检索的需求,最核心的部分就是确定document相似的维度。
    document相似的维度又决定了用什么样的模型去抽取document的特征。
    比如普通图片相似搜索,我们需要的就是图片里面的物体的相似度, 那么我们就可以选择网上很多的基于imagenet数据集训练 好

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值