ElasticSearch学习:ElasticSearch概述

elasticsearch用于文本搜索的函数库Lucene,ElasticSearch是基于此做的封装和增强。

ElasticSearch,简称es,es是一个开源的高拓展的分布式全文检索引擎,它可以近乎实施的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用java开发并使用Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

(REST API 也称为 RESTful API,是遵循 REST 架构规范的应用编程接口(API 或 Web API),支持与 RESTful Web 服务进行交互。REST 是表述性状态传递的英文缩写,由计算机科学家 Roy Fielding 创建。

REST 是一组架构规范,并非协议或标准。API 开发人员可以采用各种方式实施 REST。

在这里插入图片描述
其实Restful解决的就是,多个端接收统一接口同一个就够了,除此之外还有缓存的,简化交互)

实际上同安用的搜索工具还有一个是solr

ES和solr的差别:

ElasticSearch简介

ElasticSearch是一个实施分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:

维基百科使用es提供全文搜索并高亮关键字,以及输入实施搜索和搜索纠错等搜索建议功能;英国公报使用es结合用户日志和社交网络数据提供给他们的编辑以实施的反馈,以便了解龚总对新发表的文章的回应。。。

es是一个基于Apache Lucene™的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好、功能最全的搜索引擎库。想要使用它,必须使用java来作为开发语言并将其直接继承到你的应用中。

solr简介

Solr是Apache下的一个顶级开源项目,采用java开发,是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展、并对索引、搜索性能进行了优化。它可以独立运行,是一个独立的企业及搜索应用服务器,它对外提供类似于web-service的API接口。用户可以通过http请求,像搜索引擎服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回结果。

两者比较

当单纯的对已有数据进行搜索时,Solr更快
当实时建立索引是,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势
随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化

总结

es基本是开箱即用,非常简单。而solr会有点复杂。
Solr利用Zookeeper进行分布式管理,而elasticsearch自身带有分布式协调管理功能
solr支持更多格式的数据,比如json xml csv。而es只支持json文件格式
solr官方提供的功能更多,而elasticsearch更注重核心功能,高级功能由第三方插件提供
solr查询快,但更新索引时慢,用于电商等查询多的应用
es建立索引宽,即实时性查询快,用于facebook新浪等搜索
solr较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而elasticsearch相对开发维护者较少,更新太快,学习使用成本较高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值