ELK(一)
ELK
1. 什么是ELK?
ELK是三个开源项目的首字母缩写:
-
E : Elasticsearch
-
L:Logstash
-
K:Kibana
2. ELK用来做什么?
-
Elasticsearch:搜索和分析引擎
-
Logstash:服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到诸如ElasticSearch等“存储库”中
-
Kibana:让用户在Elasticsearch中使用图形和图标对数据进行可视化
3. Elasticsearch详细介绍
什么是Elasticsearch?
Elasticsearch is a real-time, distributed storage, search, and analytics engine
Elasticsearch 是一个实时的分布式存储、搜索、分析的引擎。
keywords:实时,分布式存储,搜索,分析
为什么使用ELasticsearch?
日常开发中,实时、存储、搜索、分析这些要求用数据库也可以做到,为什么还要使用ElasticSearch呢?
相对于数据库,Elasticsearch的强大之处就是可以模糊查询。
数据库也可以模糊查询,但是一个问题在于:这类查询不走索引,也就是说如果数据库量很大(1亿条),查询肯定会是秒级别的
而且,如果说从数据库根据模糊匹配查出相应记录,往往会返回大量数据,但是我需要的数据量并没有那么多,50条记录就足够了
另外,用户输入往往没有那么精准
期望的情况:
用户从Google中输入Elasticseach,但是Google仍然可以知道我想要查询的是Elasticsearch
Elasticsearch的出现解决了上述问题:
-
Elasticsearc擅长模糊查询(搜索速度很快)
-
搜索得到的数据可以根据评分过滤掉大部分,只需要返回评分高的给用户(原生就支持排序)
-
没那么准确的关键字也能搜出相关结果(能匹配有相关性的记录)
参考资料
https://cloud.tencent.com/developer/article/1583402
https://www.cnblogs.com/coderxz/p/13268417.html