全书目录

第二十三篇:Elasticsearch 完全指南 —— 全城检索雷达宇宙

第十一章:全文搜索、过滤、聚合三者怎么协作 —— 真实搜索系统不是单动作,而是流水线

1 分钟 118 字 第 427 / 962 个阅读单元

真实业务搜索,往往不是“写一个 query 就完了”,而是三步一起走:

text
1. 全文召回:先把像的找出来
2. 精确过滤:把不符合业务硬条件的剔掉
3. 聚合统计:把结果集做成统计面板

把这个流水线画成图:

text
用户输入:"wireless headphones"
          │
          ▼
query context(全文召回)
          │
          ├── match / multi_match
          ├── 走 analyzer
          ├── 查倒排索引
          └── 产生 _score
          ▼
filter context(硬条件)
          │
          ├── category = audio
          ├── in_stock = true
          └── price <= 2000
          ▼
aggregations(统计)
          │
          ├── 品牌分布
          ├── 平均价格
          └── 日期趋势
          ▼
返回
├── hits(结果列表)
└── aggregations(统计面板)

这就是 Elasticsearch 跟“数据库查条件”最不同的地方:

它的默认工作方式更像一个搜索中台,而不是一台只负责返回布尔结果的条件机。