首页 > 数据库 >向量搜索技术:基于Elasticsearch/PostgreSQL/Redis扩展的向量搜索数据库或独立向量搜索引擎方案参考

向量搜索技术:基于Elasticsearch/PostgreSQL/Redis扩展的向量搜索数据库或独立向量搜索引擎方案参考

时间:2023-09-02 22:14:04浏览次数:80  
标签:PostgreSQL 数据库 Redis vector 搜索 召回 向量

理论基础与研究

  向量数据库用于非结构化文本、图片、音频、视频搜索、推荐,将他们转换为数字向量表示来进行相似性(ANN)搜索。存储和搜索高维向量是其特征之一,通常采用高级索引技术和算法如HNSW, Annoy, 或Faiss来实现。不同于SQL数据库,向量数据库更像nosql,用户接受使用sdk/API来执行搜索(虽然这个声明式不如SQL强大)。

  向量数据库使用的底层搜索、索引技术和推荐系统中的向量召回是高度重合的。

向量数据库内核面临的技术挑战及应对措施

百亿级向量检索的向量数据库是如何构建的?

深入理解搜索引擎-搜索召回

推荐系统之召回

「向量召回」相似检索算法——HNSW(pg_embedding使用的就是HNSW算法)

使用向量召回的一些经验

深入浅出推荐系统(四):召回:向量化的潮流(重点讲embedding)

向量检索:提升召回场景下的信息检索精度

向量嵌入(vector embeddings)

推荐策略产品经理必读系列—第五讲推荐系统的向量召回

【推荐系统】向量召回算法 HNSW

搜索召回 | Facebook: 亿级向量相似度检索库Faiss原理+应用

Faiss向量召回引擎如何做到快速查找最近邻

向量检索速度慢?看看这个Faiss索引实操

向量数据库排名

https://byby.dev/vector-databases

https://github.com/topics/vector-database

https://press.ai/best-vector-databases/#

综合github/国外排名/国内分析来看,开源中基于es,faiss,milvus的方案比较有较大竞争力。

基于ElasticSearch的方案参考

使用向量检索插件(aliyun-knn)

向量数据库:使用Elasticsearch实现向量数据存储与搜索

高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索

基于postgresql的方案参考

https://github.com/pgvector/pgvector https://neon.tech/blog/pg-embedding-extension-for-vector-search(采用HNSW算法) https://access.crunchydata.com/documentation/pgvector/latest/pdf/pgvector.pdf

AI大模型与向量数据库 PGVECTOR

https://github.com/yoshioterada/PostgreSQL-Vector-Search-pgvector--for-PDF-file-on-Blob-Storage-english

比 pgvector 快 20 倍的 Postgres 向量运算插件:pg_embedding

PASE: PostgreSQL Ultra-High-Dimensional Approximate Nearest Neighbor Search Extension

将Redis向量相似性搜索应用于文档搜索和检索的用例】'Redis arXiv Search - Vector search demo with the arXiv paper dataset, HuggingFace, OpenAI, FastAPI, React, and Redis as the vector database.' Redis Ventures GitHub: github.com/RedisVentures/redis-arXiv-search  Redis arXiv Search Redis 7.2 里程碑版本发布,向量搜索速度提高 16 倍 利用Redis实现向量相似度搜索:解决文本、图像和音频之间的相似度匹配问题  

是什么推动了Milvus向量数据库中的相似性搜索

召回技术(向量检索工具faiss篇) milvus基于faiss库

Milvus 系统设计理念的再次思考

Introduction to Milvus

Milvus探究与压测分析

标签:PostgreSQL,数据库,Redis,vector,搜索,召回,向量
From: https://www.cnblogs.com/lightdb/p/17673842.html

相关文章

  • 折半搜索 学习笔记
    关于算法折半搜索,又称meetinthemiddle算法。顾名思义,就是将整个搜索的过程分成两个部分分别进行搜索,然后再将两个部分搜索出来的答案进行合并,得到最终的答案。dfs搜索算法一般都是指数级别的,那么我们假如每次dfs时都有两种决策,那么我们执行dfs算法的时间复杂度为\(O......
  • 揭秘POSTGRESQL中的通信加密
    在这篇文章中,我们想向您简要介绍TLS(传输层安全性),这是一种广泛与PostgreSQL结合使用的技术,用于加密客户端/服务器连接。什么是TLS?TLS是“传输层安全”的缩写,它是一种确保通过TCP连接发送的任何数据免受攻击者保护的方法。要了解TLS的工作原理,您首先需要了解有关加密的......
  • TCP KEEPALIVE以获得更好的POSTGRESQL体验进程
    如果您听说过TCPkeepalive但不确定它是什么,请继续阅读。如果您曾经对以下错误消息感到惊讶:serverclosedtheconnectionunexpectedlySSLSYSCALLerror:EOFdetectedunexpectedEOFonclientconnectioncouldnotreceivedatafromclient:Connectionresetbypeer......
  • postgresql流复制一(环境搭建)
    PostgreSQL早在9.0版本开始支持物理复制,也可称为流复制(StreamingReplication),通过流复制技术,可以从实例级复制出一个与主库一模一样的从库(也称之为备库)举个简单的例子,在主机host1上创建了一个PostgreSQL实例,并在实例上创建多个数据库,通过流复制技术可以在另外一台主机ho......
  • postgresql流复制三(延迟备库)
    延迟备库是指可以配置备库和主库的延迟时间,这样备库始终和主库保持指定时间的延迟,例如设置备库和主库之间的延迟时间为1小时,理论上备库和主库的延时始终保持在一小时左右。延迟备库1延迟备库的意义PostgreSQL流复制环境下,如果主库不是很忙并且备库硬件资源充分,通常备库和主......
  • postgresql流复制四(查询冲突)
    部署流复制环境后,备库可提供只读操作,通常会将一些执行时间较长的分析任务、统计SQL跑在备库上,从而减轻主库压力,在备库上执行一些长时间SQL时,可能会出现以下错误并被中止:FATAL:terminatingconnectionduetoconflictwithrecoveryDETAIL:Userwasholdingarelation......
  • POSTGRESQL中从MD5到SCRAM-SHA-256
    从v10开始,PostgreSQL提供了scram-sha-256对密码哈希和身份验证的支持。本文介绍了如何安全地调整您的应用程序。为什么我们需要scram-sha-256?PostgreSQL使用哈希加密有两个目的:实际的数据库密码是用户输入的明文密码的哈希值。这可以防止小偷在其他系统上使用偷来的密码。......
  • 向量,矩阵,线性基
    向量定义既有大小又有方向的量称为向量,记作$\vec{a}$。如果这个向量还有一个起点,那么它就成为了一条有向线段。有向线段三要素:起点,方向,长度。有向线段$\overrightarrowAB$......
  • 解密Prompt系列14. LLM Agent之搜索应用设计:WebGPT & WebGLM & WebCPM
    前两章,我们分别介绍了基于微调和prompt的工具调用方案,核心都是如何让大模型和工具进行交互,包括生成工具调用语句和处理工具调用请求。不过在实际应用中,想要设计一个可以落地的LLMAgent,需要更全面整体的系统设计。本章我们以搜索工具为例,介绍如何更好和搜索引擎进行交互的LLMAgen......
  • 京东API接口解析,实现按关键字搜索商品
    京东开放平台提供了丰富的API接口,用于查询商品、用户、订单等信息。以下是一个基本的示例,解析并实现按关键字搜索商品的API接口。需要访问京东开放平台并注册一个开发者账号。注册完成后,你需要创建一个应用并获取到API的权限。在获取到API权限后,你可以在开发者的控制台中找到API的......