写点什么

Elasticsearch 的正式介绍

用户头像
escray
关注
发布于: 2021 年 01 月 11 日
Elasticsearch 的正式介绍

以下内容来自 B 站中华石杉的 Elasticsearch 顶尖高手系列课程核心知识篇

1. Elasticsearch 的功能

(1)分布式的搜索引擎和数据分析引擎


搜索:百度,网站的站内搜索,IT 系统的检索


数据分析:电商网站,最近 7 天牙膏这种商品销量排名前 10 的商家有哪些;新闻网站,最近 1 个月访问量排名前 3 的新闻版块是哪些


分布式,搜索,数据分析

(2)全文检索,结构化检索,数据分析


全文检索:我想搜索商品名称包含牙膏的商品,select * from products where product_name like "%牙膏 %"


结构化检索:我想搜索商品分类为日化用品的商品都有哪些,select * from products where category_id='日化用品'


部分匹配、自动完成、搜索纠错、搜索推荐


数据分析:我们分析每一个商品分类下有多少个商品,select category_id,count(*) from products group by category_id

(3)对海量数据进行近实时的处理


分布式:ES 自动可以将海量数据分散到多台服务器上去存储和检索


海联数据的处理:分布式以后,就可以采用大量的服务器去存储和检索数据,自然而然就可以实现海量数据的处理了


近实时:检索个数据要花费 1 小时(这就不要近实时,离线批处理,batch-processing);在秒级别对数据进行搜索和分析


跟分布式/海量数据相反的:lucene,单机应用,只能在单台服务器上使用,最多只能处理单台服务器可以处理的数据量

2. Elasticsearch 的适用场景

国外


  • 维基百科,类似百度百科,牙膏,牙膏的维基百科,全文检索,高亮,搜索推荐

  • The Guardian(国外新闻网站),类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),数据分析,给到每篇新闻文章的作者,让他知道他的文章的公众反馈(好,坏,热门,垃圾,鄙视,崇拜)

  • Stack Overflow(国外的程序异常讨论论坛),IT 问题,程序的报错,提交上去,有人会跟你讨论和回答,全文检索,搜索相关问题和答案,程序报错了,就会将报错信息粘贴到里面去,搜索有没有对应的答案

  • GitHub(开源代码管理),搜索上千亿行代码

  • 电商网站,检索商品

  • 日志数据分析,logstash 采集日志,ES 进行复杂的数据分析(ELK 技术,elasticsearch+logstash+kibana)

  • 商品价格监控网站,用户设定某商品的价格阈值,当低于该阈值的时候,发送通知消息给用户,比如说订阅牙膏的监控,如果高露洁牙膏的家庭套装低于 50 块钱,就通知我,我就去买

  • BI 系统,商业智能,Business Intelligence。比如说有个大型商场集团,BI,分析一下某某区域最近 3 年的用户消费金额的趋势以及用户群体的组成构成,产出相关的数张报表,**区,最近 3 年,每年消费金额呈现 100%的增长,而且用户群体 85%是高级白领,开一个新商场。ES 执行数据分析和挖掘,Kibana 进行数据可视化

国内


  • 站内搜索(电商,招聘,门户,等等)

  • IT 系统搜索(OA,CRM,ERP,等等)

  • 数据分析(ES 热门的一个使用场景)


3. Elasticsearch 的特点


可以作为一个大型分布式集群(数百台服务器)技术,处理 PB 级数据,服务大公司;也可以运行在单机上,服务小公司


Elasticsearch 不是什么新技术,主要是将全文检索、数据分析以及分布式技术,合并在了一起,才形成了独一无二的 ES;lucene(全文检索),商用的数据分析软件(也是有的),分布式数据库(mycat)


对用户而言,是开箱即用的,非常简单,作为中小型的应用,直接 3 分钟部署一下 ES,就可以作为生产环境的系统来使用了,数据量不大,操作不是太复杂


数据库的功能面对很多领域是不够用的(事务,还有各种联机事务型的操作);特殊的功能,比如全文检索,同义词处理,相关度排名,复杂数据分析,海量数据的近实时处理;Elasticsearch 作为传统数据库的一个补充,提供了数据库所不不能提供的很多功能


最后补充一段来自 Elastic 官网的介绍:


Elasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack. Logstash and Beats facilitate collecting, aggregating, and enriching your data and storing it in Elasticsearch. Kibana enables you to interactively explore, visualize, and share insights into your data and manage and monitor the stack. Elasticsearch is where the indexing, search, and analysis magic happens.


发布于: 2021 年 01 月 11 日阅读数: 68
用户头像

escray

关注

Let's Go 2017.11.19 加入

在学 Elasticsearch 的项目经理

评论

发布
暂无评论
Elasticsearch 的正式介绍