PG 全文搜索实战(1):为什么不用 LIKE 本系列第 1 篇。先搞清楚LIKE %keyword%到底差在哪全文搜索又解决了什么问题。LIKE 的三宗罪假设有一张文章表想搜标题/正文里含某个词的记录。很多人第一反应SELECT*FROMarticlesWHEREcontentLIKE%数据库%;看着能用但生产上有三个致命问题1. 无法走索引前导通配符LIKE %xxx%开头是%普通 B-Tree 索引用不上只能全表扫描。几十万行就开始慢上千万行直接卡死。2. 不理解“词”只会字符匹配LIKE %run%会匹配到running、brunch——它不懂英文词干也不懂中文分词。搜apple匹配不到apples除非再写规则搜“数据库”匹配不到“数据 库”。3. 没有相关性排序LIKE 只能告诉你“匹配/不匹配”不能告诉你“哪条更相关”。而搜索的核心恰恰是把最相关的排前面。全文搜索怎么解决PostgreSQL 全文搜索FTS做了三件 LIKE 做不到的事能力LIKE全文搜索走专用索引GIN❌✅ 快分词 / 词干归一化❌✅run/running 归一相关性排名❌✅ts_rank关键词高亮❌✅ts_headline布尔/短语查询与或非勉强✅tsquery核心思路把文档预处理成一堆**归一化的词lexeme**存进tsvector再用tsquery表达查询条件两者用匹配并用 GIN 索引加速。一个直观对比-- LIKE字符匹配全表扫描SELECT*FROMarticlesWHEREcontentLIKE%running%;-- FTS词匹配run/running/ran 都能命中可走 GIN 索引SELECT*FROMarticlesWHEREto_tsvector(english,content) to_tsquery(english,running);什么时候还是用 LIKE精确前缀匹配LIKE abc%能走索引。数据量很小或只是偶尔模糊查。需要匹配任意子串片段如搜商品编号中间几位FTS 反而不合适。记住LIKE 是字符匹配FTS 是语义/词匹配。搜“文章内容、评论、描述”这类自然语言文本用 FTS。下一篇核心概念 tsvector / tsquery / 分词配置

相关新闻

最新新闻

效率工具大揭秘:首助编辑高手HTML批量修改实操指南与核心功能解析

效率工具大揭秘:首助编辑高手HTML批量修改实操指南与核心功能解析

面对成百上千个HTML文件,你是否还在用“CtrlF”苦苦寻找,或者用“CtrlC、CtrlV”进行着枯燥的机械复制?手动修改不仅耗时耗力,稍不留神还容易改错代码,导致网页显示异常。其实,繁琐的文本处理工作完全可以交…

2026/7/19 6:01:40
不平衡分类问题本质与系统性解决路径

不平衡分类问题本质与系统性解决路径

1. 什么是不平衡分类?它不是数据“不够多”,而是数据“说谎了”“Imbalanced Classification”——这个术语第一次出现在我手头的客户模型诊断报告里时,我正盯着一个准确率98.7%却在实际业务中频频漏判高风险客户的模型发呆。客户问&#xff…

2026/7/19 6:01:40
Android面试核心知识体系与高频问题解析

Android面试核心知识体系与高频问题解析

1. Android面试核心知识体系全景图作为在Android开发领域深耕多年的技术老兵,我经历过从初级到架构师的全阶段面试考核。这份面试题整理不是简单的知识点罗列,而是基于大厂真实面试场景提炼的知识图谱。Android技术栈可分为四个层级:基础层&a…

2026/7/19 6:01:40
2025年AI-ML趋势:物理AI与Agent技术解析

2025年AI-ML趋势:物理AI与Agent技术解析

1. 2025年AI-ML技术趋势全景解读在2025年的技术版图中,AI与机器学习领域正经历着从底层架构到应用范式的深刻变革。这份趋势报告揭示了两个关键演进方向:物理AI(Physical AI)的崛起和Agent技术的革命性突破。物理AI标志着AI系统开…

2026/7/19 6:01:40
Python字符串格式化与数据结构实战指南

Python字符串格式化与数据结构实战指南

1. Python字符串格式化与输入输出实战字符串格式化是Python编程中最基础也最常用的功能之一。在日常开发中,我们经常需要将变量、表达式的结果嵌入到字符串中输出,或者对用户输入的数据进行格式化处理。1.1 三种主流字符串格式化方法Python目前主要有三种…

2026/7/19 6:01:40
训练数据里没有的世界

训练数据里没有的世界

2020年疫情期间,我们实验室的自动驾驶感知系统迎来了意想不到的考验。美国那边的测试车队报告说,行人检测模型的表现断崖式下降。一开始大家以为是模型漂移或者硬件故障,排查了一周才发现原因简单得让人无语:行人都戴上口罩了。我…

2026/7/19 5:56:40

月新闻