导语
本文将介绍Elasticsearch,下篇文章将介绍安装
简介
Elasticsearch是一个分布式的、可伸缩的、实时搜索和分析引擎。它使您可以搜索、分析和探索你的数据,通常你没有预料到的方式在项目的开始。它的存在,因为原始数据存在硬盘上不是有用的。
Elasticsearch不仅仅是全文搜索。它可以解释结构化搜索、分析、处理人类语言的复杂性,地理位置和关系。
Elasticsearch允许您去探索你的数据在速度和规模前所未有的可能。用于全文搜索、结构化搜索,分析,和所有三个结合:
a) 维基百科使用Elasticsearch提供全文搜索与突出显示搜索片段。
b)《Guardian》使用Elasticsearch把访客日志和社交网络数据提供实时反馈,它的编辑关于公众对新文章的反应。
c) Stack Overflow结合全文搜索和地理位置查询和使用more-like-this去发现相关的问题和答案。
d) GitHub使用Elasticsearch查询1300亿行代码。
Elasticsearch与lucene
Elasticsearch是一个开源的Apache Lucene搜索引擎之上™的全文搜索引擎库。Lucene可以说是最先进、高性能和功能齐全的图书馆搜索引擎,现在存在两个版本,开源和专有的。
但Lucene是一个图书馆。为了利用它的力量,你需要以Java工作和把Lucene直接与您的应用程序集成。更糟的是,您可能需要一个学位信息检索来了解它是如何工作的。Lucene是非常复杂的。
Elasticsearch内部也是用Java编写的,并使用Lucene的索引和搜索,但它的目标是使全文搜索容易通过隐藏的Lucene复杂性,提供一个简单的、一致的、基于RESTful的API。
然而,Elasticsearch不仅仅是Lucene,不“仅仅”全文搜索。它也可以描述如下:
- 一个分布式实时文档存储,每个字段都是可以索引和搜索的。
- 具有实时分析能力的分布式搜索引擎
- 能够扩展到数百个服务器和pb级的结构化和非结构化数据
它包含所有功能,从而成为一个独立的服务器,您的应用程序可以通过一个简单的RESTful API,使用你最喜欢的编程语言,或者从命令行利用web客户端进行通信。
下载地址
总结
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。