什么是es?

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

es所涉及到的每一项技术都不是创新和革命性的。全文搜索、分析系统以及分布式数据库这些早就已经不存在了。它的革命性在于将这些独立且有用的技术整合成一个一体化,实时的应用。它对新用户的门槛很低。它能够进行全文搜索,处理同义词和根据相关性给文档打分,它能根据同一份数据生成分析和聚合的结果,它还能在没有大量工作进程的情况下能做到对数据的实时处理。

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

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

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

不过,es不仅仅是Lucene和全文搜索,我们还能这样去描述它:
分布式的实时文件存储,每个字段都被索引并可被搜索
分布式的实时分析搜索引擎
可以扩展到上百台服务器,处理PB级结构化或非结构化数据

而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的Restful API ,各种语言的客户端甚至命令行与之交互。

上手es非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它开箱即用,只需要很少的学习即可在生产环境中使用。

随着你对es的理解加深,你可以根据不同的问题领域定制es的高级特性,这一切都是可配置的,并且配置非常灵活。

你可能感兴趣的:(什么是es?)