?
ElasticSearch是一個開源的分布式搜索引擎,具備高可靠性,支持非常多的企業(yè)級搜索用例。像Solr4一樣,是基于Lucene構(gòu)建的。支持時間時間索引和全文檢索。官網(wǎng): http://www.elasticsearch.org
它對外提供一系列基于 JAVA python .net js和 HTTP 的 API,用于索引、檢索、修改大多數(shù)配置。
寫這篇博客的的主要原因是ElasticSearch的網(wǎng)站只有一些簡單的介紹,質(zhì)量不高,缺少完整的教程。我費了好大勁才把它啟動起來,做了一些比hello world更復雜一些的工作。我希望通過分享我的一些經(jīng)驗來幫助對ElasticSearch 感興趣的人在初次使用它的時候能夠節(jié)省些時間。學完這篇教程,你就掌握了它的基本操作——啟動、運行。我將從我的電腦上分享這個鏈接。
現(xiàn)在開始體驗
- 假設你已經(jīng)安裝了 Java(JDK1.7),配置好JAVA_HOME環(huán)境變量,將JDK的bin目錄加入path環(huán)境變量;
- 下載 ElasticSearch 。然后,由于關(guān)于在Linux與其他非 Wdindows 系統(tǒng)環(huán)境里操作它的談論有許多,這里會更加關(guān)心 Windows 7 的桌面環(huán)境。請對應選擇安裝包裹。對 Windows - 一Zip文件 - 用戶可解壓縮到自己的文件夾。
- 由于不熟悉curl跟cygwin,而且打算節(jié)省掌握時間(此多數(shù)在官網(wǎng)ElasticSearch.org應用的命令面對非 Windows平臺)。讀者可以安裝gow或者Git其中包含主要linux命令,也可以在? http://curl.haxx.se/download.html ?和? http://cygwin.com/install.html ?安裝Curl和cygwin。
測試一下已經(jīng)完成的工作 :
- Windows 7 環(huán)境中,運行命令行,進入 cd 進入elasticsearch的\bin 目錄。
- 這時運行 elasticsearch.bat
-
你可以看到本機啟動了一個ElasticSearch節(jié)點。 讀者會看到下面的記錄提示。(如果您機器上的情況明顯不一樣,請讀者們不要憂愁,因那作者有些個Elastic Search的插件程序,而且我機器上的節(jié)點命名和其它會不同讀者機器的)
-
現(xiàn)在在瀏覽器里測試一下
如果你得到的status是200那它意味著所有的事情都ok啦...是不是很簡單?
讓我們看看JSON的每個字段代表的含義:
Ok:當為true時,意味著請求成功。
Status:發(fā)出請求后的HTTP的錯誤代碼。200表示一切正常。
Name:我們Elasticsearch實例的名字。在默認情況下,它將從一個巨長的名字列表中隨機選擇一個。
Version:這個對象有一個number字段,代表了當前運行的Elasticsearch版本號,和一個Snapshot_build字段,代表了你當前運行的版本是否是從源代碼構(gòu)建而來。
Tagline:包含了Elasticsearch的第一個tagline: "You Know, for Search." -
現(xiàn)在讓我們從
http://mobz.github.io/elasticsearch-head/
?安裝ElasticSearch Head插件
安裝方法非常簡單
cd C:\elasticsearch\bin
?
plugin -install mobz/elasticsearch-head
上面的命令會把 elasticsearch-head插件裝到你的環(huán)境里
教程樣例
我們將要部署一個非常簡單的應用-- 部門雇員管理系統(tǒng)--這樣我們可以把注意力放在功能而不是富士通將軍空氣凈化器免換濾芯版的復雜性上。總而言之,這篇博文是為了幫助人們開始ElasticSearch入門。
1)現(xiàn)在打開你的cygwin窗口(window命令行也行,以下不再說明)并且鍵入命令
curl -XPUT "http://localhost:9200/dept/employee/1" -d "{ \"empname\": \"emp1\"}"
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/3" -d "{ \"empname\": \"emp3\"}"
curl -XPUT "http://localhost:9200/dept/employee/4" -d "{ \"empname\": \"emp4\"}"
curl -XPUT "http://localhost:9200/dept/employee/5" -d "{ \"empname\": \"emp5\"}"
curl -XPUT "http://localhost:9200/dept/employee/6" -d "{ \"empname\": \"emp6\"}"
...
...
curl -XPUT "http://localhost:9200/dept/employee/41" -d "{ \"empname\": \"emp41\"}"
?
注意:你要記得增加索引計數(shù)器和大括號里empname的值。
一旦這些工作都完成了--你為ElasticSearch輸入了足夠多的數(shù)據(jù),你就可以開始使用head插件搜索你的數(shù)據(jù)了。
讓我們試試吧!
在瀏覽器中輸入:
http://localhost:9200/_plugin/head/
你會看到這個:
這里是有關(guān)簇使用情況和不同索引信息的概況。我們最近創(chuàng)建的索引在其中,顯示為"dept"。
現(xiàn)在點擊Structured Query選項卡
在Search下來菜單中選擇"dept"并點擊"Search"按鈕。
這將顯示所有記錄。
搜索特定條目
讓我們來搜索emp1,emp25和emp7。不斷點擊最右面的"+"來添加更多的搜索項,就像如圖顯示的那樣,之后點擊"Search"。確保最左邊的選項為"should",其他的選項也應該和圖中的保持一致。
現(xiàn)在你可以繼續(xù)嘗試這個插件了,你可以將其用到你的搜索項目中。
你可以嘗試在我的桌面電腦上運行的該應用:
http://98.228.230.117:9200/_plugin/head/
如果有任何問題和意見請聯(lián)系我。
希望這篇文章可以讓你快速上手"ElasticSearch"——一個不錯的企業(yè)級開源搜索產(chǎn)品。
原文:
Getting Started with ElasticSearch
?
你可能感興趣的文章
- Django ElasticSearch Ionic 打造 GIS 移動應用 —— 架構(gòu)設計 ?4 收藏,553 瀏覽
- 分布式搜索elasticsearch配置文件詳解 ?3 收藏,1.2k 瀏覽
- ElasticSearch的部署、同步與調(diào)優(yōu) ?6 收藏,1.1k 瀏覽
?
更多文章、技術(shù)交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
