1.1 ES是elasticsearch的缩写,elasticsearch是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。
1.2 比如我们从商城搜索,从庞大的数据量中搜出对应的数据,而且这些数据都高亮显示了我们了的搜索关键字。1.3 ES结合了kibana、Logstash、Beats这些组件,也就是elastic stack(ELK)。它被广泛应用于微服务的海量日志数据分析以及项目运行实时监控等领域。
1.4 ELK的认识:
其中kibana、logstash、beats这些组件都是可以被替换的,并不是必须的,但es是必须的,所以es是elk技术的核心。es的底层实现是一个名为lucene的技术。
Lucene是一个Java语言的搜索引擎类库(其实就是一个jar包),官网:https://lucene.apache.org/ 。它的核心技术使用的是倒排索引。
1.5 es是基于lucene的二次开发,相比lucene,es具备了支持分布式,可水平扩展,提供了restful接口,可被任何语言调用的优势。
1.6 es是用来搜索数据的,传统上,我们把数据分为三个大类,分别是结构化数据,非结构化数据,半结构化数据;
对于结构化数据,我们往往会用二维表结构后来管理这些数据;
对于非结构化数据,即无法用二维表结构来表现的数据,如服务器日志、工作文档、报表、视频等,这些数据维度广,数据量大,一般这些数据都保存在非关系型数据库中;
对于半结构化数据:数据的内容和结构混在一起,如html,xml等文档。这些数据也往往是保存在非关系型数据库中。
对于这些数据,可以使用es来快速并准确地搜索。



