「Elastic Search」 是一個分散式、RESTful 風格的搜尋和資料分析引擎,能夠解決不斷湧現出的各種用例。作為 Elastic Stack
的核心,它集中儲存您的資料,幫助您發現意料之中以及意料之外的情況。
「Elastic Search」是基於Apache
Lucene(TM)的開源搜尋引擎。無論在開源還是專有領域,Lucene可以被認為是迄今為止最先進、效能最好的、功能最全的搜尋引擎庫。
但是Lucene只是一個庫。想要使用它,你必須使用Java來作為開發語言並將其直接整合到你的應用中,更糟糕的是,Lucene非常複雜,你需要深入瞭解檢索的相關知識來理解它是如何工作的。
Elasticsearch也使用Java開發並使用Lucene作為其核心來實現所有索引和搜尋的功能,但是它的目的是通過簡單的RESTful
API來隱藏Lucene的複雜性,從而讓全文搜尋變得簡單。
通過
Elasticsearch,您能夠執行及合併多種型別的搜尋(結構化資料、非結構化資料、地理位置、指標),搜尋方式隨心而變。先從一個簡單的問題出發,試試看能夠從中發現些什麼。找到與查詢最匹配的十個文件是一回事。但如果面對的是十億行日誌,又該如何解讀呢?Elasticsearch
聚合讓您能夠從大處著眼,探索資料的趨勢和模式。
「Elastic Search」故事:
多年前,一個叫做Shay
Banon的剛結婚不久的失業開發者,由於妻子要去倫敦學習廚師,他便跟著也去了。在他找工作的過程中,為了給妻子構建一個食譜的搜尋引擎,他開始構建一個早期版本的Lucene。
直接基於Lucene工作會比較困難,所以Shay開始抽象Lucene程式碼以便Java程式設計師可以在應用中新增搜尋功能。他釋出了他的第一個開源專案,叫做“Compass”。
後來Shay找到一份工作,這份工作處在高效能和記憶體資料網格的分散式環境中,因此高效能的、實時的、分散式的搜尋引擎也是理所當然需要的。然後他決定重寫Compass庫使其成為一個獨立的服務叫做Elasticsearch。
第一個公開版本出現在2010年2月,在那之後Elasticsearch已經成為Github上最受歡迎的專案之一,程式碼貢獻者超過300人。一家主營Elasticsearch的公司就此成立,他們一邊提供商業支援一邊開發新功能,不過Elasticsearch將永遠開源且對所有人可用。