一 什么是 Elasticsearch?

Elasticsearch(ES) 是一个分布式搜索引擎,专门用

正排索引(传统数据库):
文档1 → ["库存", "组织", "ID"]
文档2 → ["业务", "实体", "ID"]

倒排索引(Elasticsearch):
"库存" → [文档1]
"组织" → [文档1]
"ID"   → [文档1, 文档2]
"业务" → [文档2]
"实体" → [文档2]

全文检索

🏗️ 架构对比

你的项目(rank_bm25):

内存中的 BM25
├── 所有文档加载到内存(134682个)
├── 每次查询都要扫描所有文档
└── 速度慢,内存占用大

Elasticsearch:

分布式索引
├── 文档存储在磁盘(倒排索引)
├── 只扫描包含关键词的文档
└── 速度快,支持海量数据

📖 ES 的核心技术:倒排索引(Inverted Index)

查询 "库存组织" 时:

  • 传统方式:扫描所有文档(慢)
  • ES 方式:直接查倒排索引 → 文档1(快)
🚀 Elasticsearch 的优势
特性rank_bm25Elasticsearch
数据量几千个文档数十亿文档
查询速度秒级毫秒级
内存占用高(全部加载)低(按需加载)
分布式
持久化
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐