Elasticsearch
一、项目简介
Elasticsearch 是成熟的开源搜索与分析引擎,除经典关键词检索外,现已支持向量字段(dense_vector)与 kNN 检索,可实现「关键词 + 向量 + 过滤」的混合搜索,是企业级检索系统的常青方案。
二、核心特性
- 混合检索:BM25 关键词 + kNN 向量 + 结构化过滤;
- 大规模分布式:分片、副本、横向扩展;
- 丰富聚合:统计分析与仪表盘;
- 成熟生态:监控、告警、权限、备份方案齐全;
- 向量支持:dense_vector 字段与近似最近邻检索。
三、适用场景
- 企业级全文检索与日志分析;
- 需要关键词与向量混合的 RAG 检索;
- 已有 ES 集群、希望复用其能力。
四、快速上手
docker run -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.15.0
# 建索引时定义 dense_vector 字段,查询用 knn
五、注意事项
- 资源占用(内存/磁盘)较大,需合理规划;
- 向量检索调优(分片、段合并)有门槛;
- 注意版本间 API 差异与许可变化。