ElasticSearch 快速入門使用
ElasticSearch是一個開源的分布式搜索引擎,具備高可靠性,支持非常多的企業級搜索用例。像Solr4一樣,是基于Lucene構建的。支持時間時間索引和全文檢索。官網:http://www.elasticsearch.org
它對外提供一系列基于java和http的api,用于索引、檢索、修改大多數配置。
寫這篇博客的的主要原因是ElasticSearch的網站只有一些簡單的介紹,質量不高,缺少完整的教程。我費了好大勁才把它啟動起來,做了一些比hello world更復雜一些的工作。我希望通過分享我的一些經驗來幫助對ElasticSearch(很強大的哦)感興趣的人在初次使用它的時候能夠節省些時間。學完這篇教程,你就掌握了它的基本操作——啟動、運行。我將從我的電腦上分享這個鏈接。
這么著就開始了。
-
作者假設讀者擁有安裝后的Java。
</li> -
下載來自http://www.elasticsearch.org/download/的ElasticSearch。再一次,關于在Linux與其他非視窗系統環境里操作它的談論有許多,但是作者更加關心著視窗7版桌面環境。請對應選擇安裝包裹。對視窗系統 - 一Zip文件 - 用戶可解壓縮到C:\elasticsearch-0.90.3\. 牢記,這十分的不同于安裝Eclipse IDE。
</li> -
作者不熟悉curl跟cygwin,而且作者打算節省掌握時間(此多數在官網ElasticSearch.org應用的命令面對非視窗平臺)(譯者:大可以安裝一虛擬機、便攜版Linux或者MinGW)。讀者可以在http://curl.haxx.se/download.html和http://cygwin.com/install.html安裝Curl和cygwin。
</li> </ol>于是測試下目前作者和讀者所做到的。
-
視窗7版桌面環境,運行命令行,進入 cd C:\elasticsearch-0.90.3\bin 目錄。
</li> -
這時運行 elasticsearch.bat
</li> -
上面在本機啟動了一個ElasticSearch節點。 讀者會看到下面的記錄提示。
</li> </ol>(如果您家情況明顯不一樣,請讀者們不要憂愁,因那作者有些個Elastic Search的插件程序,而且作者家節點命名和其它會不同讀者家的)
4. 現在在瀏覽器里測試一下
如果你得到的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的窗口看到這樣的信息:
讓我們看一下這個輸出:
======================================================================== % 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/
你會看到這個:
這里是有關簇使用情況和不同索引信息的概況。我們最近創建的索引在其中,顯示為"dept"。
現在點擊Structured Query選項卡
在Search下來菜單中選擇"dept"并點擊"Search"按鈕。
這將顯示所有記錄。
搜索特定條目
讓我們來搜索emp1,emp25和emp7。不斷點擊最右面的"+"來添加更多的搜索項,就像如圖顯示的那樣,之后點擊"Search"。確保最左邊的選項為"should",其他的選項也應該和圖中的保持一致。
現在你可以繼續嘗試這個插件了,你可以將其用到你的搜索項目中。
你可以嘗試在我的桌面電腦上運行的該應用:
http://98.228.230.117:9200/_plugin/head/
如果有任何問題和意見請聯系我。
希望這篇文章可以讓你快速上手"ElasticSearch"——一個不錯的企業級開源搜索產品。
-