Elasticsearch簡介。

孤芳不自賞發表於2017-08-30

        Elasticsearch是一個基於Apache Lucene(TM)的開源搜尋引擎。無論在開源還是專有領域,Lucene可以被認為是迄今為止最先進、效能最好的、功能最全的搜尋引擎庫。

        但是Lucene只是一個庫。想要使用它,你必須使用Java來作為開發語言並將其直接整合到你的應用中,更糟糕的是,Lucene非常複雜,你需要深入瞭解檢索的相關知識來連線它是如何工作的。

        Elasticsearch也使用Java開發並使用Lucene作為其核心來實現所有索引和搜尋的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的複雜性,從而讓全文搜尋變得簡單。

        不過,Elasticsearch不僅僅是Lucene和全文搜尋,我們還能這樣去描述它:

  • 分散式的實時檔案儲存,每個欄位都被索引並可被搜尋;
  • 分散式的實時分析搜尋引擎;
  • 可以擴充套件到上百臺伺服器,處理PB級結構化或非結構化資料。

         而且,所有的這些功能被整合到一個服務裡面,你的應用可以通過簡單的RESTful API、各種語言的客戶端甚至命令列與之互動。

         上手Elasticsearch非常容易。它提供了許多合理的預設值,並對初學者隱藏了複雜的搜尋引擎理論。它開箱即用(安裝即可使用),只需很少的學習既可在生產環境中使用。

          Elasticsearch在Apach 2 license下許可使用,可以免費下載、使用和修改。

          隨著你對Elasticsearch的理解加深,你可以根據不同的問題領域定製Elasticsearch的高階特性,這一切都是可配置的,並且配置非常靈活。


          Elasticsearch是面向文件的,這意味著他可以儲存整個物件或文件。然而它不僅僅是儲存,還會索引每個文件的內容使之可以被索引。在Elasticsearch中,你可以對文件(而非程航成列的資料)進行索引、搜尋排序、過濾。

          支援JSON。

相關文章