跳到分类
  • 首页
  • 关于本站

关注互联网最新资讯,最新技术趋势
首页
全部
互联网资讯
技术博客
创业报道
发表于 2021-03-28
0 条评论

聊一聊Solr,Elasticsearch及lucene的特点及应用场景

全部 技术博客

一 Lucene,solr及Elasticsearch
有必要先说一下LuceneLucene是一个高性能、可伸缩的信息搜索(IR)库。它可以为你的应用程序添加索引和搜索能力。Lucene是用java实现的、成熟的开源项目,是著名的Apache Jakarta大家庭的一员,并且基于Apache软件许可 [ASF, License]。同样,Lucene是当前非常流行的、免费的Java信息搜索(IR)库。它可以用于任何应用程序来搜索功能。 Lucene是开源项目。它是可扩展的,高性能的库用于索引和搜索几乎任何类型的文本。 Lucene库提供了所需的任何搜索应用程序的核心业务:索引和搜索。
而Solr和Elasticsearch都是基于lucene基础上,开发的搜索应用平台,各有各的应用场景和优缺点。
Solr是Apache Lucene项目的开源企业搜索平台,相对于Elasticsearch,在国内应用程度略低一些。 其主要功能包括全文检索、命中标示、分面搜索、动态聚类、数据库集成,以及富文本的处理。Solr是高度可扩展的,并提供了分布式搜索和索引复制。Solr是最流行的企业级搜索引擎,Solr4 还增加了NoSQL支持。Solr是用Java编写、运行在Servlet容器(如 Apache Tomcat 或Jetty)的一个独立的全文搜索服务器。 Solr采用了 Lucene Java 搜索库为核心的全文索引和搜索,并具有类似REST的HTTP/XML和JSON的API。Solr强大的外部配置功能使得无需进行Java编码,便可对 其进行调整以适应多种类型的应用程序。Solr有很强大的插件机制,支持更方便的功能定制和二次开发。
Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。相比于solr,在国内也是应用的最广的。 Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。Elasticsearch有很强的扩展性,可以很轻松的扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
二 各自的应用场景及优缺点
Solr的优缺点
优点:
1. Solr有一个更大、更成熟的用户、开发和贡献者社区
2. 支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。
3. Solr比较成熟、稳定
4. 不考虑建索引的同时进行搜索,速度更快
缺点:
建立索引时,搜索效率下降,应用于实时索引搜索效率不高。
Elasticsearch的优缺点
优点:
1. Elasticsearch是分布式的。不需要其他组件,分发是实时的。
2. Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
3. 处理多租户不需要特殊配置,而Solr则需要更多的高级设置。
4. Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。
缺点:相当于solr强大的插件功能,Elasticsearch扩展性和定制性稍差。

对于同一份数据,已经离线建好索引的情况下,solr和检索速度要比Elasticsearch快不少。

在存在索引实时写入的情况下,solr的检索速度明显下降,

随着实时数据写入量越来越大,solr读去索引的速度会越来越差。

三 Lucene,solr及Elasticsearch的应用场景
基于以上分析,总结一下,Solr,Elasticsearch及lucene各自的应用场景。
solr不适合于提供实时检索的应用场景,基于solr搜索引擎的应用,需要离线把索引做好。
相当于solr而言,Elasticsearch可以作为对查询效率要求不是十分苛刻的实时引擎使用,但是如果作为工业级的实时引擎,Elasticsearch本身也不满足需求,倒是可以作为内存的数据实时查询,日志检索等实时数据应用。
真的要想做一套工业级的实时检索引擎,就需要基于lucene自己开发了,从效率的角度,推荐clucene 或者lucene++,纯效率角度,要比基于lucene java版本的检索效率要高很多。 毕竟基于c&c++的lucene库,不需要jvm运行时的支持。

除非注明,本站文章均为原创或编译,转载请注明: 文章来自程序界
分享给朋友:

轻松一刻

相关文章
随机文章
    • 暂无相关日志
    • Google 官方证实佩奇失声,但仍在管理公司
    • 日前twitter前首席科学家阿卜杜勒出资135万美元启动秘密项目-PUSHD
    • 比较跨语言通讯框架:thrift和Protobuf
    • 旅游与互联网,线上旅游的几个模式
    • 师夷长技以治夷:最近美国B2B市场比较火爆的三种新型Saas业务平台
    • 淘宝:从未打压导购网站 坚持开放原则
    • 哪个php开发框架最好?
    • 美博客盘点11家最具颠覆性公司:Twitter上榜
    • Groupon的五大教训
    • faiss在京东的应用:京东的分布式向量检索系统 vearch
所有评论

发表评论

取消回复

带星号*是必填项目。由于缓存,您的评论会稍后显示;请以个人的名义发表评论,昵称填写产品或网站名、评论内容附加无关网址将不通过审核。

上一篇: 母亲砸了游戏机,女孩跳楼自杀

下一篇: 师夷长技以治夷:最近美国B2B市场比较火爆的三种新型Saas业务平台

← 返回首页
热门资讯
本周
本月
昨日
    • faiss在京东的应用:京东的分布式向量检索系统 vearch
    • 阿里被罚,最颤抖的应该是腾讯
    • 师夷长技以治夷:最近美国B2B市场比较火爆的三种新型Saas业务平台
    • 母亲砸了游戏机,女孩跳楼自杀
    • 那些年,我开发过的约炮软件-由陌陌上市谈谈im产品这点事儿
    • 周鸿祎冰水浇头,接受als慈善冰桶挑战
    • 这一年,过的快–我的2014年终总结
    • 一场地方网站的盛宴-5.10日车库咖啡地方站长沙龙小记
    • 一个比较靠谱的awk的学习笔记
    • 磊友赵霏:一个手游老兵的回忆录
    • 比hadoop更即时的大数据分布式实时处理系统storm
    • 微信公众平台为什么会火
    • 一个中国互联网草根:我眼中的中国互联网创业
    • 2012十大最佳CEO提名:人人网CEO陈一舟
    • 自己验证过的centos上protobuf安装过程
    • 宁哲网络周宁: 地方网站如何选择盈利行业
    • Instagram两周年:1亿注册用户分享50亿张照片
    • 宁哲网络周宁:本地O2O商城之殇
    • 新浪微任务发起阻击 第三方微博营销平台中招
    • 戴志康谈微信二维码运营:学会注重结果
技术宅的思考
本周
    • linux系统中使用systemctl取代service管理后台服务
    • faiss在京东的应用:京东的分布式向量检索系统 vearch
    • 聊一聊Solr,Elasticsearch及lucene的特点及应用场景
    • 小而全的开源引擎:Nutch
    • chrome代码的编译和调试(全部过程经本人亲自验证)
    • 国内访问gmail的方法
    • android adb使用小记
    • windows下搭建android开发环境-史上最正确最清楚版
    • 那些年,我开发过的约炮软件-由陌陌上市谈谈im产品这点事儿
    • linux共享动态库中同名对象重复析构-两次析构或多次析构的解决办法
创业动态
本周
    • 师夷长技以治夷:最近美国B2B市场比较火爆的三种新型Saas业务平台
    • 那些年,我开发过的约炮软件-由陌陌上市谈谈im产品这点事儿
    • 这一年,过的快–我的2014年终总结
    • 一场地方网站的盛宴-5.10日车库咖啡地方站长沙龙小记
    • 磊友赵霏:一个手游老兵的回忆录
    • 回首我的2012-随笔
    • 细说互联网大数据时代蕴藏的创业机会
    • 曾李青五年风投经验总结:9种公司不能投
    • 盛大游戏高管再变动:董事长兼CEO谭群钊离职
    • 360搜索被指偷来的“市场第二”
联系我们

关于 / 关于本站

本站由 WordPress 驱动 ,主题由SoftUses 提供技术支持
沪ICP备11048881号-1

©2021