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

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