一.認識和對比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的全部功能,而且在實時搜索上更好一些。思想差很少。