文章目录
1. ELASTIC Stack 生态
特点:
1)学习门槛低,开发周期短,上线快
2)性能快,查询快,实时展示结果
3)迅速扩容,快速支撑增长迅猛的数据量GB->TB,PB
Elatic 生态包含:
- ElasticSearch: Java编写,实时的分布式搜索和分析引擎,他可以用于 全文搜索 ,结构化搜索以及分析
- Logstash:JRuby编写 是一个实时渠道能力的 数据收集 引擎,包含输入,过滤,输出模块,一般在过滤模块中做日志格式化接卸工作
- Kibana: JavaScript编写,为ElasticSearch提供分析和 可视化 的Web平台,他可以ElasticSearch的索引中查找,交互数据,并生成各种维度的表图
2. ElasticSearch
对比:
Solr: 实时性不高,实时建立索引Solr会产生IO阻塞,查询性能较差,
ElasticSearch:自带分布式,实时性更高,2013 超越solr ,ElasticSearch使用量大幅增加
数据存储:
solr和ElasticSearch都是基于Lucene做的二次开发,如下ElasticSearch和数据的结构对比。
2.1 Lucene和数据库的对比
2.2 ElasticSearch和数据库的对比
2.3 ElasticSearch中文档的存储结构
ElasticSearch数据存储结构是采用的B+tree来存储的
Analyzer分词器,如IKAnalyzer、word分词、Ansj、Stanford等,这个也可以自定义
1)使用流程如下
2)如下是Index的结构化存储,文档分为正排索引和倒排索引