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