Elasticsearch 是一个分布式的,高性能的,高可用的,可伸缩的搜索和分析系统算法
什么是Lucene?服务器
是一个Jar包,里边包含了封装好的各类创建倒排索引和搜索的代码,包括各类算法。用Lucene咱们能够将已有的数据创建索引,Lucene会在本地磁盘上面,给咱们组织索引的数据结构数据结构
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);在秒级别对数据进行搜索和分析ast
Elasticsearch的适用场景,能在什么地方发挥做用?
国内:站内搜索(电商,招聘,门户,等等),IT系统搜索(OA,CRM,ERP,等等),数据分析(ES热门的一个使用场景)