Elasticsearch(一)——概述

一、Elasticsearch简介

  1. Elasticsearch是一个实时分布式搜索和分析引擎,它让你以前所未有的速度处理大数据成为可能。
    它用于全文搜索、结构化搜索、分析以及将这三者混合使用
    例如维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实施搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。
  2. Elasticsearch是一个基于Apach Lucehe(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止性能最好的、功能最全的搜索引擎库
    但是,Lucene只是一个库,想要使用它,你必须使用java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索相关知识来理解它是如何工作的。
  3. Elasticsearch也使用了java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单

二、Solr简介

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

三、Lucene简介

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

在这里插入图片描述

在这里插入图片描述

四、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新浪等搜索。
    • Solr是传统搜索应用的有力解决方案,但Elasticsearch更适用于新兴的实时搜索应用。
  6. Solr比较成熟,有一个更大,更成熟的用户,开发和贡献者社区,而Elasticsearch相对开发维护者太少,更新太快,学习使用成本较高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值