<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>IVFFlat on Ralph's Blog</title><link>https://pothos.dpdns.org/tags/ivfflat/</link><description>Recent content in IVFFlat on Ralph's Blog</description><generator>Hugo -- 0.147.7</generator><language>zh-cn</language><lastBuildDate>Thu, 12 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://pothos.dpdns.org/tags/ivfflat/index.xml" rel="self" type="application/rss+xml"/><item><title>59.pgvector技术指南</title><link>https://pothos.dpdns.org/posts/59.pgvector%E6%8A%80%E6%9C%AF%E6%8C%87%E5%8D%97/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://pothos.dpdns.org/posts/59.pgvector%E6%8A%80%E6%9C%AF%E6%8C%87%E5%8D%97/</guid><description>&lt;h1 id="59-pgvector-技术指南">59. pgvector 技术指南&lt;/h1>
&lt;h2 id="目录">目录&lt;/h2>
&lt;details>
&lt;summary>点击展开目录&lt;/summary>
&lt;ul>
&lt;li>&lt;a href="#59-pgvector-%E6%8A%80%E6%9C%AF%E6%8C%87%E5%8D%97">59. pgvector 技术指南&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E7%9B%AE%E5%BD%95">目录&lt;/a>&lt;/li>
&lt;li>&lt;a href="#pgvector-%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5">pgvector 基础概念&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E4%BB%80%E4%B9%88%E6%98%AF-pgvector">什么是 pgvector&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%A0%B8%E5%BF%83%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8Bvector">核心数据类型：vector&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%90%91%E9%87%8F%E7%9B%B8%E4%BC%BC%E5%BA%A6%E5%BA%A6%E9%87%8F%E6%A0%87%E5%87%86">向量相似度度量标准&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E8%BF%9B%E9%98%B6%E5%90%91%E9%87%8F%E5%8E%8B%E7%BC%A9%E6%8A%80%E6%9C%AF-quantization">进阶：向量压缩技术 (Quantization)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%BA%95%E5%B1%82%E5%8E%9F%E7%90%86pgvector-%E4%B8%8E-postgresql-%E7%9A%84%E7%BB%93%E5%90%88%E6%9C%BA%E5%88%B6">底层原理：pgvector 与 PostgreSQL 的结合机制&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%8A%A8%E6%80%81%E6%89%A9%E5%B1%95%E6%9C%BA%E5%88%B6-extension-system">1. 动态扩展机制 (Extension System)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B-user-defined-types">2. 自定义数据类型 (User-Defined Types)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E8%BF%90%E7%AE%97%E7%AC%A6%E9%87%8D%E8%BD%BD-operator-overloading">3. 运算符重载 (Operator Overloading)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E7%B4%A2%E5%BC%95%E8%AE%BF%E9%97%AE%E6%96%B9%E6%B3%95%E6%8E%A5%E5%8F%A3-index-access-method-api">4. 索引访问方法接口 (Index Access Method API)&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%AE%89%E8%A3%85%E4%B8%8E%E5%BF%AB%E9%80%9F%E9%85%8D%E7%BD%AE">安装与快速配置&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%AE%89%E8%A3%85-pgvector">1. 安装 pgvector&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E5%90%AF%E7%94%A8%E6%89%A9%E5%B1%95">2. 启用扩展&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#pgvector-%E7%B4%A2%E5%BC%95%E5%8E%9F%E7%90%86%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90">pgvector 索引原理深度解析&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#ivfflat-%E7%B4%A2%E5%BC%95%E5%8E%9F%E7%90%86">IVFFlat 索引原理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%80%92%E6%8E%92%E7%B4%A2%E5%BC%95%E7%9A%84%E6%80%9D%E6%83%B3">1. 倒排索引的思想&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E7%AE%97%E6%B3%95%E6%A0%B8%E5%BF%83%E6%AD%A5%E9%AA%A4">2. 算法核心步骤&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E5%BD%A2%E8%B1%A1%E6%AF%94%E5%96%BB">3. 形象比喻&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E4%BC%98%E7%BC%BA%E7%82%B9%E5%88%86%E6%9E%90">4. 优缺点分析&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#hnsw-%E7%B4%A2%E5%BC%95%E5%8E%9F%E7%90%86">HNSW 索引原理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%88%86%E5%B1%82%E5%AF%BC%E8%88%AA%E5%B0%8F%E4%B8%96%E7%95%8C-hierarchical-navigable-small-world">1. 分层导航小世界 (Hierarchical Navigable Small World)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E7%AE%97%E6%B3%95%E6%A0%B8%E5%BF%83%E6%AD%A5%E9%AA%A4-1">2. 算法核心步骤&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-hnsw-%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86%E6%B5%81%E7%A8%8B%E5%9B%BE">3. HNSW 工作原理流程图&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E5%BD%A2%E8%B1%A1%E6%AF%94%E5%96%BB">4. 形象比喻&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E5%BD%A2%E8%B1%A1%E6%AF%94%E5%96%BB-1">4. 形象比喻&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-hnsw-%E6%A0%B8%E5%BF%83%E4%BC%98%E5%8A%BF%E6%80%BB%E7%BB%93">5. HNSW 核心优势总结&lt;/a>&lt;/li>
&lt;li>&lt;a href="#6-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8A%BF%E5%AF%B9%E6%AF%94">6. 性能优势对比&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E4%B8%9A%E5%8A%A1%E5%AE%9E%E6%88%98%E4%B8%8E%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96">业务实战与性能优化&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E7%B4%A2%E5%BC%95%E9%80%89%E6%8B%A9%E7%AD%96%E7%95%A5">索引选择策略&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%85%B3%E9%94%AE%E5%8F%82%E6%95%B0%E8%B0%83%E4%BC%98">关键参数调优&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#hnsw-%E8%B0%83%E4%BC%98%E5%8F%82%E6%95%B0">HNSW 调优参数&lt;/a>&lt;/li>
&lt;li>&lt;a href="#ivfflat-%E8%B0%83%E4%BC%98%E5%8F%82%E6%95%B0">IVFFlat 调优参数&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%B7%B7%E5%90%88%E6%9F%A5%E8%AF%A2%E4%BC%98%E5%8C%96%E5%90%91%E9%87%8F%E6%90%9C%E7%B4%A2--%E4%B8%9A%E5%8A%A1%E8%BF%87%E6%BB%A4">混合查询优化：向量搜索 + 业务过滤&lt;/a>&lt;/li>
&lt;li>&lt;a href="#pgvector-080-%E6%A0%B8%E5%BF%83%E6%9B%B4%E6%96%B0%E8%BF%AD%E4%BB%A3%E6%89%AB%E6%8F%8F-iterative-scan">pgvector 0.8.0 核心更新：迭代扫描 (Iterative Scan)&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E4%BB%80%E4%B9%88%E6%98%AF%E8%BF%87%E5%BA%A6%E8%BF%87%E6%BB%A4">1. 什么是过度过滤？&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E8%BF%AD%E4%BB%A3%E6%89%AB%E6%8F%8F%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%9C%BA%E5%88%B6">2. 迭代扫描的工作机制&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E5%85%B3%E9%94%AE%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0">3. 关键配置参数&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%B4%A2%E5%BC%95%E6%9E%84%E5%BB%BA%E6%8F%90%E9%80%9F%E6%8A%80%E5%B7%A7">索引构建提速技巧&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E8%BF%90%E7%BB%B4%E7%9B%91%E6%8E%A7%E4%B8%8E%E6%95%85%E9%9A%9C%E6%8E%92%E6%9F%A5">运维监控与故障排查&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E7%9B%91%E6%8E%A7%E7%B4%A2%E5%BC%95%E6%9E%84%E5%BB%BA%E8%BF%9B%E5%BA%A6">1. 监控索引构建进度&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E6%A3%80%E6%9F%A5%E7%B4%A2%E5%BC%95%E5%81%A5%E5%BA%B7%E7%8A%B6%E5%86%B5">2. 检查索引健康状况&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E5%B8%B8%E8%A7%81%E6%8A%A5%E9%94%99%E5%8F%8A%E5%AF%B9%E7%AD%96">3. 常见报错及对策&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8Bbinary-quantization-bq-%E7%9A%84%E5%BA%94%E7%94%A8">实战案例：Binary Quantization (BQ) 的应用&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E8%AE%A1%E7%AE%97%E5%8A%A0%E9%80%9Fsimd-%E4%B8%8E%E7%A1%AC%E4%BB%B6%E4%BC%98%E5%8C%96">计算加速：SIMD 与硬件优化&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81-simd">1. 为什么需要 SIMD？&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E6%A0%B8%E5%BF%83%E6%8C%87%E4%BB%A4%E9%9B%86%E6%94%AF%E6%8C%81">2. 核心指令集支持&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-l2-%E8%B7%9D%E7%A6%BB%E8%AE%A1%E7%AE%97%E7%9A%84%E5%BA%95%E5%B1%82%E5%AE%9E%E7%8E%B0">3. L2 距离计算的底层实现&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E6%80%A7%E8%83%BD%E6%8F%90%E5%8D%87">4. 性能提升&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#hnsw-%E7%B4%A2%E5%BC%95%E7%9A%84%E5%BA%95%E5%B1%82%E7%BB%B4%E6%8A%A4%E4%B8%8E%E6%88%90%E6%9C%AC">HNSW 索引的底层维护与成本&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%86%85%E5%AD%98%E5%8D%A0%E7%94%A8-graph-pointers">1. 内存占用 (Graph Pointers)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-wal-%E5%8E%8B%E5%8A%9B">2. WAL 压力&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E6%9B%B4%E6%96%B0%E4%B8%8E%E5%88%A0%E9%99%A4-vacuum">3. 更新与删除 (Vacuum)&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#pgvector-080-%E9%AB%98%E7%BA%A7%E7%89%B9%E6%80%A7%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90">pgvector 0.8.0+ 高级特性深度解析&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E7%A8%80%E7%96%8F%E5%90%91%E9%87%8F-sparsevec">1. 稀疏向量 (sparsevec)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E5%8D%8A%E7%B2%BE%E5%BA%A6%E6%B5%AE%E7%82%B9%E6%95%B0-halfvec">2. 半精度浮点数 (halfvec)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E5%A4%9A%E5%90%91%E9%87%8F%E6%90%9C%E7%B4%A2%E4%B8%8E-rerank-%E5%AE%9E%E6%88%98">3. 多向量搜索与 Rerank 实战&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%AE%9E%E6%88%98%E8%BF%9C%E7%A8%8B%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%81%E7%A7%BB%E4%B8%8E%E4%BC%98%E5%8C%96%E6%8C%87%E5%8D%97">实战：远程数据库迁移与优化指南&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%86%85%E5%AD%98%E7%98%A6%E8%BA%AB%E4%BB%8E-vector-%E8%BF%81%E7%A7%BB%E5%88%B0-halfvec">1. 内存瘦身：从 vector 迁移到 halfvec&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E7%B4%A2%E5%BC%95%E9%87%8D%E6%9E%84hnsw-%E5%8F%82%E6%95%B0%E8%B0%83%E4%BC%98">2. 索引重构：HNSW 参数调优&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E5%BC%80%E5%90%AF%E6%B7%B7%E5%90%88%E6%A3%80%E7%B4%A2%E9%9B%86%E6%88%90%E5%85%A8%E6%96%87%E6%90%9C%E7%B4%A2">3. 开启混合检索：集成全文搜索&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%A4%A7%E6%A8%A1%E5%9E%8B%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86-ltm-%E6%9E%B6%E6%9E%84%E5%AE%9E%E6%88%98">大模型长期记忆 (LTM) 架构实战&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E4%B8%BA%E4%BB%80%E4%B9%88-hnsw-%E6%98%AF%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%E7%9A%84%E9%A6%96%E9%80%89">1. 为什么 HNSW 是长期记忆的首选？&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E5%B7%A5%E4%B8%9A%E7%95%8C%E4%B8%89%E5%B1%82%E5%AD%98%E5%82%A8%E6%9E%B6%E6%9E%84-memory-hierarchy">2. 工业界三层存储架构 (Memory Hierarchy)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E8%AE%B0%E5%BF%86%E7%AE%A1%E7%90%86%E7%AD%96%E7%95%A5%E4%BB%8E%E5%AD%98%E5%88%B0%E7%94%A8">3. 记忆管理策略：从“存”到“用”&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#a-%E8%AE%B0%E5%BF%86%E7%9A%84%E9%81%97%E5%BF%98%E6%9C%BA%E5%88%B6-recency-weighting">A. 记忆的“遗忘机制” (Recency Weighting)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#b-%E8%AE%B0%E5%BF%86%E7%9A%84%E5%8E%8B%E7%BC%A9%E4%B8%8E%E5%BD%92%E7%BA%B3-summarization">B. 记忆的“压缩与归纳” (Summarization)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#c-%E6%B7%B7%E5%90%88%E6%A3%80%E7%B4%A2-hybrid-search">C. 混合检索 (Hybrid Search)&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E6%9C%AC%E9%A2%84%E5%A4%84%E7%90%86%E4%B8%8E%E5%88%87%E5%88%86%E7%AD%96%E7%95%A5-rag-%E6%A0%B8%E5%BF%83">文本预处理与切分策略 (RAG 核心)&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E8%83%BD%E7%9B%B4%E6%8E%A5%E5%AD%98%E6%95%B4%E7%AF%87%E6%96%87%E7%AB%A0">1. 为什么不能直接存整篇文章？&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E5%88%87%E5%88%86%E7%B2%92%E5%BA%A6%E8%AF%8D%E7%9F%AD%E8%AF%AD%E8%BF%98%E6%98%AF%E6%AE%B5%E8%90%BD">2. 切分粒度：词、短语还是段落？&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E5%AE%9E%E6%88%98%E5%88%87%E5%88%86%E7%AD%96%E7%95%A5">3. 实战切分策略&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E9%87%8D%E5%8F%A0%E5%BA%A6-overlap-%E7%9A%84%E5%A6%99%E7%94%A8">4. 重叠度 (Overlap) 的妙用&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B%E4%B8%80%E5%8F%A5%E8%AF%9D%E7%9A%84%E5%90%91%E9%87%8F%E5%8C%96%E4%B9%8B%E8%B7%AF">5. 实战案例：一句话的向量化之路&lt;/a>&lt;/li>
&lt;li>&lt;a href="#6-%E5%A4%9A%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86%E4%B8%AD%E6%96%87-vs-%E8%8B%B1%E6%96%87">6. 多语言处理：中文 vs 英文&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#pgvector-%E5%9C%A8%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E4%B8%AD%E7%9A%84%E5%AE%9E%E6%88%98">pgvector 在大模型应用中的实战&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%90%91%E9%87%8F%E5%B5%8C%E5%85%A5%E6%A8%A1%E5%9E%8B%E9%80%89%E6%8B%A9">1. 向量嵌入模型选择&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-ai-agent-%E9%95%BF%E6%9C%9F%E8%AE%B0%E5%BF%86%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84">2. AI Agent 长期记忆系统架构&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-rag-%E5%BA%94%E7%94%A8%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">3. RAG 应用最佳实践&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E5%AE%9E%E6%88%98">4. 性能优化实战&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE%E5%BB%BA%E8%AE%AE">5. 生产环境配置建议&lt;/a>&lt;/li>
&lt;li>&lt;a href="#6-%E7%9B%91%E6%8E%A7%E4%B8%8E%E7%BB%B4%E6%8A%A4">6. 监控与维护&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E9%AB%98%E9%A2%91%E9%9D%A2%E8%AF%95%E9%A2%98%E7%B2%BE%E9%80%89">高频面试题精选&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E8%A7%A3%E5%86%B3%E8%BF%87%E7%A8%8B%E8%AE%B0%E5%BD%95">解决过程记录&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/details>
&lt;h2 id="pgvector-基础概念">pgvector 基础概念&lt;/h2>
&lt;h3 id="什么是-pgvector">什么是 pgvector&lt;/h3>
&lt;p>&lt;strong>pgvector&lt;/strong> 是 PostgreSQL 的一个开源扩展，它允许在数据库中直接存储、索引和查询向量数据。它使 PostgreSQL 具备了“向量数据库”的能力，非常适合处理大语言模型（LLM）生成的 Embedding。&lt;/p></description></item></channel></rss>