首页/数据/NoSQL 速查/Elasticsearch 作为检索层而非主存储
本包目录(322 条)
MongoDB99 条Elasticsearch89 条ClickHouse56 条时序与列式28 条
选型与架构50 条

Elasticsearch 作为检索层而非主存储

ES 面向检索与分析:默认近实时(写入到可搜索有刷新间隔)、更新会重建整篇文档、无跨文档事务,深分页受限;把业务数据全量托付给它需要慎重,常见做法是主存 + 检索副本。

NoSQL 速查数据更新于 2026-10-12
近实时默认 refresh_interval=1s,搜索可见性有延迟;按 ID 读取是实时的
更新成本文档级整体重建,频繁更新字段代价高、段合并压力大
事务没有跨文档 ACID,只有文档级版本并发控制
分页from+size 受 max_result_window 限制,深分页要用 search_after/PIT

示例

示例
# 写入后立刻搜索可能查不到(未 refresh)
POST /orders/_doc/1
{ "status": "created" }
GET /orders/_search?q=status:created

# 按 ID 读取不受 refresh 影响
GET /orders/_doc/1
常见架构:关系库/文档库持有权威数据,经 CDC 或同步任务写入 ES 承担检索与聚合,重建索引可由主存随时回灌。

易错点

  • 主键以 ES 文档 _id 为准会丢掉唯一约束与事务保护,业务键应来自权威存储
  • 把 ES 当唯一数据源时一次误删索引就是数据事故,快照与回灌链路要预先建设

数据来源与参考

  • Elasticsearch Guide: Reading and writing documents
  • Elasticsearch Guide: Near real-time search
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌