一.认识和对比java
ES:和lucene同样是用来作全文检索(建立索引和搜索索引)的,lucene是全文检索包,而ES是全文搜索服务器。数据库
为何用全文检索:以基于索引的搜索代替数据库模糊查询,加强查询效率。服务器
luncene对比ES:并发
luncene不足:高并发
①不能跨语言,只能在java中以jar引入项目。索引
②使用很是复杂,写不少代码来实现建立和搜索索引。接口
③luncene(在中小型项目使用)不能在集群环境使用(多个服务器部署同一个项目协调工做),开发
luncene是须要索引文件的,在集群环境下不能共享云盘,索引文件不一样步。部署
ES弥补了luncene不足,并且其余地方作了增强。同步
①不只支持java环境
es是服务器,把原来的luncene很复杂的操做封装成了Restful接口,原来一大堆建立索引,
如今只须要发送一个http请求,其余语言也能发,因此支持多语言开发。
②使用方式变简单
进行了封装,只须要发请求大服务器
③也能集群环境使用
多个应用服务器(代码)都使用一个搜索服务器
④ES自己也能够集群
支持多个应用服务器高并发访问ES
--------------------一句话:强,牛逼!
同类型(全文搜索服务器)比较:ES和solr
ES基本上拥有solr的全部功能,而且在实时搜索上更好一些。思想差很少。