ElasticSearch关键技术
本部分主要是ElasticSearch相关技术整理,但是ElasticSearch的特点就是API更新非常快,导致书籍/博客很难有最快的跟进,本部分主要讲解部分不随大版本更新的技术。
ElasticSearch可以用来作为数据库吗
Elastic网上很少有作为基础数据库的案例,主要是它的聚合过滤等能力(相对于Oracle/MongoDb)实在太弱,但是它的优点是写入方便(动态模版等功能),扩展方便。在本章节中,本文主要是将ElasticSearch作为数据仓库(Data Warehouse),最原始的数据库肯定是存储在传统数据库中,而Elastic仅仅用于存储ETL/Flink等离线或实时聚合操作后的计算结果。
graph LR;
subgraph Source
HTML--Puppeteer-->Kafka;
Excel/Word--Tika-->Kafka;
Oracle-->Kafka;
end
Kafka--ETL-->Flink;
Flink-->ElasticSearch;
在上图中,Elastic虽然是数据库,但是不会保留任何原始数据
本部分实验条件
本部分只分析单机版,并安装IK分词
# install ik plugin
./bin/elasticsearch-plugin install \
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.4/elasticsearch-analysis-ik-6.5.4.zip
# start
./bin/elasticsearch -d
本文的模拟数据采用Kibana自带的Demo数据,启动Kibana就会提示自动导入