Elasticsearch - 是什么,以及应用场景

Posted wx628dd70197058

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch - 是什么,以及应用场景相关的知识,希望对你有一定的参考价值。


文章目录


Elasticsearch - 是什么,以及应用场景


1、​​Elasticsearch​​ - 是什么

​Elasticsearch​​是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能

引用百度百科

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、php、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。

​Elasticsearch​​​是一个基于​​Apache Lucene(TM)​​​的开源搜索引擎。无论在开源还是专有领域,​​Lucene​​可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

但是,​​Lucene​​​只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,​​Lucene​​非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。

​Elasticsearch​​​也使用Java开发并使用​​Lucene​​​作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的​​RESTful API​​​来隐藏​​Lucene​​的复杂性,从而让全文搜索变得简单。

不过,​​Elasticsearch​​不仅仅是Lucene和全文搜索,我们还能这样去描述它

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

2、Elasticsearch 的一些案例

  • 维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-as-you-type)和搜索纠错(did-you-mean)等搜索建议功能。
  • 英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了解公众对新发表的文章的回应。
  • StackOverflow结合全文搜索与地理位置查询,以及more-like-this功能来找到相关的问题和答案。
  • Github使用Elasticsearch检索1300亿行的代码。

但是​​Elasticsearch​​​不仅用于大型企业,它还让像​​DataDog​​​以及​​Klout​​​这样的创业公司将最初的想法变成可扩展的解决方案。​​Elasticsearch​​可以在你的笔记本上运行,也可以在数以百计的服务器上处理PB级别的数据。

​Elasticsearch​​所涉及到的每一项技术都不是创新或者革命性的,全文搜索,分析系统以及分布式数据库这些早就已经存在了。它的革命性在于将这些独立且有用的技术整合成一个一体化的、实时的应用。它对新用户的门槛很低,当然它也会跟上你技能和需求增长的步伐

3、协议

​Elasticsearch​​​在​​Apache 2 license​​下许可使用,可以免费下载、使用和修改。

4、故事

多年前,一个叫做​​Shay Banon​​​的刚结婚不久的失业开发者,由于妻子要去伦敦学习厨师,他便跟着也去了。在他找工作的过程中,为了给妻子构建一个食谱的搜索引擎,他开始构建一个早期版本的Lucene。
直接基于Lucene工作会比较困难,所以Shay开始抽象Lucene代码以便Java程序员可以在应用中添加搜索功能。他发布了他的第一个开源项目,叫做“​​​Compass​​”。

后来Shay找到一份工作,这份工作处在高性能和内存数据网格的分布式环境中,因此高性能的、实时的、分布式的搜索引擎也是理所当然需要的。然后他决定重写​​Compass​​​库使其成为一个独立的服务叫做​​Elasticsearch​​。

第一个公开版本出现在2010年2月,在那之后Elasticsearch已经成为Github上最受欢迎的项目之一,代码贡献者超过300人。一家主营Elasticsearch的公司就此成立,他们一边提供商业支持一边开发新功能,不过Elasticsearch将永远开源且对所有人可用

以上是关于Elasticsearch - 是什么,以及应用场景的主要内容,如果未能解决你的问题,请参考以下文章

laravel 5.5 elasticsearch/elasticsearch 插件安装及使用

Elasticsearch是什么以及核心概念

Elasticsearch 索引文件夹应重命名并附加 currentdate

ElasticSearch系列-01初识以及安装elasticSearch

ES-什么是elasticsearch

第05章 管理ElasticSearch