ElasticSearch 快速入門使用

jopen 9年前發布 | 38K 次閱讀 ElasticSearch 搜索引擎

ElasticSearch是一個開源的分布式搜索引擎,具備高可靠性,支持非常多的企業級搜索用例。像Solr4一樣,是基于Lucene構建的。支持時間時間索引和全文檢索。官網:http://www.elasticsearch.org

它對外提供一系列基于java和http的api,用于索引、檢索、修改大多數配置。

寫這篇博客的的主要原因是ElasticSearch的網站只有一些簡單的介紹,質量不高,缺少完整的教程。我費了好大勁才把它啟動起來,做了一些比hello world更復雜一些的工作。我希望通過分享我的一些經驗來幫助對ElasticSearch(很強大的哦)感興趣的人在初次使用它的時候能夠節省些時間。學完這篇教程,你就掌握了它的基本操作——啟動、運行。我將從我的電腦上分享這個鏈接。

這么著就開始了。

  1. 作者假設讀者擁有安裝后的Java。

    </li>

  2. 下載來自http://www.elasticsearch.org/download/的ElasticSearch。再一次,關于在Linux與其他非視窗系統環境里操作它的談論有許多,但是作者更加關心著視窗7版桌面環境。請對應選擇安裝包裹。對視窗系統 - 一Zip文件 - 用戶可解壓縮到C:\elasticsearch-0.90.3\. 牢記,這十分的不同于安裝Eclipse IDE。

    </li>

  3. 作者不熟悉curl跟cygwin,而且作者打算節省掌握時間(此多數在官網ElasticSearch.org應用的命令面對非視窗平臺)(譯者:大可以安裝一虛擬機、便攜版Linux或者MinGW)。讀者可以在http://curl.haxx.se/download.htmlhttp://cygwin.com/install.html安裝Curl和cygwin。

    </li> </ol>

    于是測試下目前作者和讀者所做到的。

    1. 視窗7版桌面環境,運行命令行,進入 cd C:\elasticsearch-0.90.3\bin 目錄。

      </li>

    2. 這時運行 elasticsearch.bat

      </li>

    3. 上面在本機啟動了一個ElasticSearch節點。 讀者會看到下面的記錄提示。

      </li> </ol>

      (如果您家情況明顯不一樣,請讀者們不要憂愁,因那作者有些個Elastic Search的插件程序,而且作者家節點命名和其它會不同讀者家的)

      ElasticSearch 快速入門使用

      4. 現在在瀏覽器里測試一下

      ElasticSearch 快速入門使用

      ElasticSearch 快速入門使用

      如果你得到的status是200那它意味著所有的事情都ok啦...是不是很簡單?

      讓我們看看JSON的每個字段代表的含義:

      Ok:當為true時,意味著請求成功。

      Status:發出請求后的HTTP的錯誤代碼。200表示一切正常。

      Name:我們Elasticsearch實例的名字。在默認情況下,它將從一個巨長的名字列表中隨機選擇一個。

      Version:這個對象有一個number字段,代表了當前運行的Elasticsearch版本號,和一個Snapshot_build字段,代表了你當前運行的版本是否是從源代碼構建而來。

      Tagline:包含了Elasticsearch的第一個tagline: "You Know, for Search."

      5. 現在讓我們從http://mobz.github.io/elasticsearch-head/ 安裝ElasticSearch Head插件

      安裝方法非常簡單

      cd C:\elasticsearch-0.90.3\bin
      plugin -install mobz/elasticsearch-head


      上面的命令會把 elasticsearch-head插件裝到你的環境里

      教程樣例

      我們將要部署一個非常簡單的應用--在一個部門里的雇員--這樣我們可以把注意力放在功能而不是氧立得復雜性上。總而言之,這篇博文是為了幫助人們開始ElasticSearch入門。

      1)現在打開你的cygwin窗口并且鍵入命令

      curl -XPUT 'http://localhost:9200/dept/employee/32' -d '{ "empname": "emp32"}'

      dept是一個索引并且索引類型是雇員,此時我們正在輸入這個索引類型的第31個id。

      你應該能在cygwin的窗口看到這樣的信息:

      ElasticSearch 快速入門使用

      讓我們看一下這個輸出:

      ========================================================================
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100    91  100    70  100    21    448    134 --:--:-- --:--:-- --:--:--   500{"ok":true,"_index":"dept","_type":"employee","_id":"31","_version":1}
      ========================================================================

      和上面的命令一樣--讓我們輸入更多的記錄:

      curl -XPUT 'http://localhost:9200/dept/employee/1' -d '{ "empname": "emp1"}'
      curl -XPUT 'http://localhost:9200/dept/employee/2' -d '{ "empname": "emp2"}'
      ...
      ...
      curl -XPUT 'http://localhost:9200/dept/employee/30' -d '{ "empname": "emp30"}'

      注意:你要記得增加索引計數器和大括號里empname的值。

      一旦這些工作都完成了--你為ElasticSearch輸入了足夠多的數據,你就可以開始使用head插件搜索你的數據了。

      讓我們試試吧!

      在瀏覽器中輸入:

      http://localhost:9200/_plugin/head/ 

      你會看到這個:

      ElasticSearch 快速入門使用

      這里是有關簇使用情況和不同索引信息的概況。我們最近創建的索引在其中,顯示為"dept"。

      現在點擊Structured Query選項卡

      ElasticSearch 快速入門使用

      在Search下來菜單中選擇"dept"并點擊"Search"按鈕。

      這將顯示所有記錄。

      搜索特定條目

      讓我們來搜索emp1,emp25和emp7。不斷點擊最右面的"+"來添加更多的搜索項,就像如圖顯示的那樣,之后點擊"Search"。確保最左邊的選項為"should",其他的選項也應該和圖中的保持一致。

      ElasticSearch 快速入門使用

      現在你可以繼續嘗試這個插件了,你可以將其用到你的搜索項目中。

      你可以嘗試在我的桌面電腦上運行的該應用:

      http://98.228.230.117:9200/_plugin/head/ 

      如果有任何問題和意見請聯系我。

      希望這篇文章可以讓你快速上手"ElasticSearch"——一個不錯的企業級開源搜索產品。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!