ES(Elasticsearch)和solr的差别

Elasticsearch简介

       Elasticsearch 是一个 实时分布式搜索和分析引擎 。它让你以 前所未有的速度处理大数据 成为可能。
       它用于 全文搜索结构化搜索分析以及 将这三者混合使用:
       维基百科使用Elasticsearch 提供全文搜索并高亮关键字,以及输入实时搜索 (search-asyou-type) 和搜索 纠错(did-you-mean) 等搜索建议功能。
       英国卫报使用Elasticsearch 结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了 解公众对新发表的文章的回应。
       StackOverflflow结合全文搜索与地理位置查询,以及 more-like-this 功能来找到相关的问题和答案。
       Github使用 Elasticsearch 检索 1300 亿行的代码。
       但是Elasticsearch 不仅用于大型企业,它还让像 DataDog 以及 Klout这样的创业公司将最初的想法变成可扩展的解决方案。 
       Elasticsearch可以在你的笔记本上运行,也可以在数以百计的服务器上处理 PB级别的数据 。
       Elasticsearch 是一个 基于Apache Lucene(TM)的开源搜索引擎 。无论在开源还是专有领域, Lucene 可以 被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 但是,Lucene只是一个库。想要使用它,你必须使用 Java 来作为开发语言并将其直接集成到你的应用 中,更糟糕的是,Lucene 非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。
       Elasticsearch也使用 Java 开发并使用 Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是 通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。

Solr简介

       Solr Apache 下的一个顶级开源项目,采用 Java 开发,它是 基于Lucene的全文搜索服务器 Solr 提供了 比Lucene 更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化 Solr可以独立运行,运行在 Jetty Tomcat 等这些 Servlet 容器中, Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档, Solr 根据 xml 文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回 Xml json 等格式的查询结果进行解析,组织 页面布局。Solr 不提供构建 UI 的功能, Solr 提供了一个管理界面,通过管理界面可以查询 Solr 的配置和运 行情况。
       Solr 是基于 lucene 开发企业级搜索服务器,实际上就是封装了 lucene
       Solr是一个独立的企业级搜索应用服务器,它对外提供类似于 Web-service API 接口。用户可以通过 http请求,向搜索引擎服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回 结果。

Lucene简介

       Lucene apache 软件基金会 4 jakarta 项目组的一个子项目,是一个开放源代码的全文检索引擎工具 包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引 引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene 的目的是为软件开发人员提供一个简单 易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索 引擎。Lucene 是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。                 Lucene提 供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java 开发环境里 Lucene 是一个成熟的 免费开源工具。就其本身而言,Lucene 是当前以及最近几年最受欢迎的免费 Java 信息检索程序库。人们 经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。 Lucene是一个全文检索引擎的架构。那什么是全文搜索引擎? 全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google Fast/AllTheWeb AltaVista 、 Inktomi、 Teoma WiseNut 等,国内著名的有百度( Baidu )。它们都是通过从互联网上提取的各个网 站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的 排列顺序将结果返回给用户,因此他们是真正的搜索引擎。 从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer ),俗称 “蜘蛛 Spider )程序或 机器人 Robot )程序,并自建网页数据库,搜索结果直接从自身的数据库中 调用,如上面提到的7 家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如 Lycos引擎。
 

ElasticsearchSolr比较

 
 
 

ElasticSearch vs Solr 总结

1 es 基本是开箱即用,非常简单。 Solr 安装略微复杂一丢丢!
2 Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能。
3、Solr 支持更多格式的数据,比如 JSON XML CSV ,而 Elasticsearch 仅支持 json 文件格式。
4 Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提
供,例如图形化界面需要 kibana 友好支撑
5 Solr 查询快,但更新索引时慢(即插入删除慢),用于电商等查询多的应用;
ES 建立索引快(即查询慢),即实时性查询快,用于 facebook 新浪等搜索。
6、Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。
7、 Solr 比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而 Elasticsearch 相对开发维护者
较少,更新太快,学习使用成本较高。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值