介绍
- 一个基于Lucene的搜索服务器/搜索引擎
- 分布式、高可扩展、高实时的搜索与数据分析引擎
- ES是用Java开发的,并作为apahe许可条款下的开放源码发布,是一种流行的企业级搜索引擎
- 基于RESTful web接口
- 基于Lucene二次封装的搜索引擎
- 还有:solr
应用场景
- 海量数据查询 因为部署相对麻烦,所以但对于少量数据,使用常规数据库即可
- 日志数据分析
- 实时数据搜索
相关问题
为什么不使用关系型数据库查询?
- 性能低
- 模糊查询会导致索引失效
- 要进行全表扫描,网络传输慢,系统处理慢(IO、数据量大时,索引量也很大,检索遍历CPU消耗大)
- 功能弱
- 无法分词查询
ES是否可以完全替换关系型数据库?
-
不能
- MySQL有事务性,而ES没有,所以在ES中删除数据是无法恢复的
- ES没有物理外键这个特性
-
ES和MySQL分工
- MySQL:负责存储数据、简单查询
- ES:负责分词、复杂查询