栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

ElasticSearch 概述

ElasticSearch 概述

Luence


  Luence是Apache的开源项目,作者Doug Cutting于2000年发起项目,项目使用Java语言实现。Luence最核心的就是全文检索。关于作者是个非常厉害的人物,2006年受邀加入雅虎,后续发布了Hadoop,人称Hadoop之父,如今Hadoop不仅仅是一个搜索引擎,还被用作数据分析等。可以说Hadoop就是云计算领域的红帽。

  Luence存在一些局限性:只能基于Java开发;类库的接口学习曲线陡峭;原生并不支持水平扩展(对于海量数据不行)。

ElasticSearch的前世今生

  故事发生在许多年前的伦敦,一位待业工程师也就是ES的作者Shay Banon带着妻子来到的伦敦,妻子想要学习做菜。Shay Banon想为妻子开发一个搜索菜谱的应用,也就是ES的前身,这个项目基于Luence,后面被Shay Banon命名为Compass,意为指南针。后续公司业务需要,作者发现急切需要一个分布式搜索服务,于是使用Java重写Compass,改名为ElasticSearch。

ElasticSearch概述


  ElasticSearch是一个基于Luence的分布式搜索服务器。主要功能有数据分析,数据搜索。ES非常大的一个亮点就是采用Restful风格,并且使用Java开发,对于想深入学习ES的同学是非常友好的。

扩展:ELK(ES+logstach+Kibana)企业中常用于日志收集分析。

Solr

  Solr是Apache下的顶级开源项目,是一个独立的企业级**搜索应用服务器,**它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果(区别于ES的Restful风格)。

 Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

  Solr的工作流程是文档通过Http利用XML 加到一个搜索集合中。查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
扩展:Solr一般配合zk使用

Solr对比ElasticSearch
SolrElasticSearch
类Web-service接口Restful
数据支持xml,json等多种数据格式仅支持json
建立索引后,效率降低建立索引效率无明显变化
Solr独立的,一般与ZK配合使用Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”
较为成熟稳定目前主流,开源贡献者不少

综上:ES是目前主流的企业级解决方案,理由为:数据格式现在基本都使用json;使用上Restful更符合潮流;时间中Solr替换成ES效率是有提高的;分布式不需要集成其他组件。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/467381.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号