产品使用场景
- es是一个开源的,分布式的搜素与分析引擎,提供了实时搜索和聚合两大功能
- es stack:es,kibana,logstash,beats
- es:核心引擎,提供了海量存储和搜索还有聚合的能力
- beats:轻量级的数据采集器
- logstash:数据转换,将采集来的数据转换为json存储到es
- kibana:可视化展示与分析
- es stack被广泛应用:搜索,日志管理,安全分析,指标分析,业务分析,应用性能检测等
- 与关系型数据库相比:es提供了模糊查询,搜索条件算分等功能,但是对于事物的支持,不如关系型数据库强大
基本概念
- 一个es集群可以运行在单节点上,也可运行在多服务器上,实现数据和服务的水平扩展
- 从逻辑角度看,索引是一些具有相同结构文档的集合
- 从物理角度看,分片是一个lucene的实例,分片存储了索引的具体数据,分片可以分布到不同的节点上,副本分片不仅可以提高集群服务的可靠性以外,还可以提高一定程度查询性能
- es的文档可以是任何json格式的数据
- 将文档写进es的过程叫做索引(indexing)
- es提供了rest api 和 transport api 两种方式,建议使用rest api