一丶Doug Cutting

Hadoop创始人Doug Cutting
Hadoop

  • HDFS
  • MapReduce
  • HBase

大数据需要解决的问题,存储+计算

二丶货比三家(ElasticSearch丶Lunece和Solr)

1丶Lucene

lucene是一套信息检索工具包!jar包,不包含搜索引擎系统!
包含的:索引结构!读写索引的工具!排序,搜索规则….工具类!

2丶 ElasticSearch

es是基于Lucene做了一些封装和增强;
es是一个开源的高扩展的分布式全文检索引擎,可以近乎实时的存储,检索数据,
可扩展好,可以扩展上百台服务器,处理PB级别(大数据时代)的数据。
Es已超过Solr等,成为排名第一的搜索引擎类应用;
———
Shay banon失业时给老婆做了个菜谱的搜索引擎;叫做Compass
后来重写Compass成为后来的ElasticSearch

使用场景

1、维基百科,类似百度百科,全文检索,高亮,搜索推荐/2(权重,百度!)
2、The Guardian(国外新闻网站),类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论)+社交网络数据(对某某新闻的相关看法),数据分析,给到每篇新闻文章的作者,让他知道他的文章的公众反馈(好,坏,热门,垃圾,鄙视,崇拜)
3、Stack Overflow(国外的程序异常讨论论坛),IT问题,程序的报错,提交上去,有人会跟你讨论和回答,全文检索,搜索相关问题和答案,程序报错了,就会将报错信息粘贴到里面去,搜索有没有对应的答案4、GitHub(开源代码管理),搜索上千亿行代码
5、电商网站,检索商品
6、日志数据分析,logstash采集日志,ES进行复杂的数据分析,==ELK技术,elasticsearch+logstash+kibana
7、商品价格监控网站,用户设定某商品的价格阈值,当低于该阈值的时候,发送通知消息给用户,比如说订阅牙膏的监控,如果高露洁牙青的家庭套装低于50块钱,就通知我,我就去买
8、Bl系统,商业智能,Business Intelligence。比如说有个大型商场集团,Bl,分析一下某某区域最近3年的用户消费金额的趋势以及用户群体的组成构成,产出相关的数张报表,**区,最近3年,每年消费金额呈现100%的增长,而且用户群体85%是高级白领,开一个新商场。ES执行数据分析和挖掘,Kibana进行数据可视化
9、国内:站内搜索(电商,招聘,门户,等等),IT系统搜索(OA,CRM,ERP,等等),数据分析(ES热门的一个使用场景)

3丶Solr

solr和elaticSearch的对比
es

  • 全文搜索
  • 结构化搜索
  • 分析

solr
Solr 是Apache下的一个顶级开源项目,采lava开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化

name=kuangshen Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr索引的实现方法很简单,用POST方法向Solr 服务器发送一个描述Field 及其内容的XML文档,Solr根据xml文档添加、删除、更新索引。Solr 搜索只需要发送HTTP GET请求,然后对Solr返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建l的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。

solr是基于lucene开发企业级搜索服务器,实际上就是封装了lucene。

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回结果。

技术选型

1丶当单纯的对已有数据进行搜索时,Solr更快
2丶当实时建立索引时,Solr会产生io阻塞,查询性能较差Es优势
3丶随着数据增加,Solr搜索效率会变的更差;
Elasticsearch vs Solr总结
1、es基本是开箱即用(解压就可以用),非常简单。Solr安装略微复杂一丢丢!
2、Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能。
3、Solr支持更多格式的数据,比如USON、XML、CSV,而Elasticsearch仅支持js0n文件格式。
4、Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供,例如图形化界面需要kibana友好支撑
5、Solr查询快,但更新索引时慢(即插入删除慢),用于电商等查询多的应用;
·ES建立索引快(即查询慢),即实时性查询快,用于facebook新浪等搜索。
·Solr 是传统搜索应用的有力解决方案,但Elasticsearch更适用于新兴的实时搜索应用。
6西×6、Solr比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而 Elasticsearch相对开发维护者绞少,更新太快,学习使用ONOO%成本较高。