1. 程式人生 > >ElasticSearch搜尋引擎(簡介)

ElasticSearch搜尋引擎(簡介)

 

ElasticSearch是什麼?

ElasticSearch是一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。

我們建立一個網站或應用程式,並要新增搜尋功能,但是想要完成搜尋工作的建立是非常困難的。我們希望搜尋解決方案要執行速度快,我們希望能有一個零配置和一個完全免費的搜尋模式,我們希望能夠簡單地使用JSON通過HTTP來索引資料,我們希望我們的搜尋伺服器始終可用,我們希望能夠從一臺開始並擴充套件到數百臺,我們要實時搜尋,我們要簡單的多租戶,我們希望建立一個雲的解決方案。因此我們利用Elasticsearch來解決所有這些問題及可能出現的更多其它問題。

 

ElasticSearch是一個基於記憶體和磁碟的搜尋伺服器,針對於java開發人員的使用有兩種方式可以選擇,一種是Restful規範的api,另一種是基於java程式碼的java api。強烈推薦使用restful api,why?  首先,提供的Restful api並沒有多複雜,相反,在使用restful進行資料增刪改查操作的同時你能看到很清晰的引數格式和返回值,引數與返回值均為json格式,很容易上手;而java api提供的TransportClient相比來說就會複雜很多,需要花點時間去熟悉一下api,在大部分專案中搜索引擎一般用到的地方只有一兩處,搜尋邏輯也不會太過於複雜,所以推薦使用過restful api進行對資料的操作。es官方表示TransportClient將於8.0版本中移除。

 

ElasticSearch學習參考文件:https://es.xiaoleilu.com/