一、安裝Elasticsearch
Elasticsearch下載地址:http://www.elasticsearch.org/download/
·下載后直接解壓,進(jìn)入目錄下的bin,在cmd下運(yùn)行elasticsearch.bat 即可啟動(dòng)Elasticsearch
·用瀏覽器訪問: http://localhost:9200/ ,如果出現(xiàn)類似如下結(jié)果則說明安裝成功:
1
2
3
4
5
6
7
8
9
10
11
12
|
{ "name" : "Benedict Kine", "cluster_name" : "elasticsearch", "version" : { "number" : "2.2.0", "build_hash" : "8ff36d139e16f8720f2947ef62c8167a888992fe", "build_timestamp" : "2016-01-27T13:32:39Z", "build_snapshot" : false, "lucene_version" : "5.4.1" }, "tagline" : "You Know, for Search" } |
其中:
·name———Elasticsearch實(shí)例的名字,默認(rèn)情況下它將從名字列表中隨機(jī)選擇一個(gè),其設(shè)置是在config/elasticsearch.yml文件中;
·version———版本號(hào),以json格式表示了一組信息,其中:
number字段代表了當(dāng)前運(yùn)行Elasticserch的版本號(hào);
build_snashot字段代表了當(dāng)前版本是否是從源代碼構(gòu)建而來;
lucene_version表示Elasticsearch所基于的Lucene的版本;
·tagline———包含了Elasticsearch的第一個(gè)tagline:"You Know, for Search"。
二、RTF版本
初學(xué)者可以首先從Elastisearch的RTF版本入手。RTF是Ready To Fly的縮寫,這是一個(gè)集成了基本插件(如服務(wù)封裝、中文分詞、mapper-attachments、transport-thrift、tools.carrot2等插件)的并帶有示例程序的可以直接上手的建議工程版本。
下載地址: https://github.com/medcl/elasticsearch-rtf
解壓后會(huì)看到其目錄結(jié)構(gòu)。Elasticsearch包含的主要文件夾及功能如下(以TF版本為例):
·bin--包含運(yùn)行Elasticsearch實(shí)例和管理插件的一些腳本;
·config--主要是一些設(shè)置文件
·lib--包含一些相關(guān)的包文件;
·plugins--包含相關(guān)的插件文件等;
·logs--日志文件;
·data--Elasticsearch中存放數(shù)據(jù)的地方;
·works--臨時(shí)文件。
三、插件介紹及安裝
1.Head
Head是一個(gè)用來監(jiān)控Elasticsearch狀態(tài)的客戶端插件。
安裝:到bin目錄下 plugin install mobz/elasticsearch-head
安裝后再瀏覽器中輸入: http://localhost:9200/_plugin/head/ ,會(huì)打開如下界面:
圖中顯示了一個(gè)節(jié)點(diǎn)Benedict Kine,每個(gè)節(jié)點(diǎn)擁有不同index的數(shù)據(jù),Head提供了HTTP客戶端。
2.Marvel
Marvel是Elasticsearch的圖形化監(jiān)控客戶端,可以用來查看當(dāng)前的各項(xiàng)狀態(tài)。
安裝:
marvel 是以 elasticsearch 的插件形式存在的,可以直接通過插件安裝:
1
|
# ./bin/plugin -i elasticsearch/marvel/latest |
如果你是從官網(wǎng)下載的安裝包,則運(yùn)行:
1
|
# ./bin/plugin -i marvel file:///path/to/marvel-latest.zip |
運(yùn)行:
在瀏覽器中輸入:http://localhost:9200/_plugin/marvel/ ,會(huì)打開如下界面:
二、借助Head構(gòu)建索引
啟動(dòng)Elasticsearch后,在瀏覽器中訪問:http://localhost:9200/_plugin/head/ 打開Head工具。
step1:
單擊“新建索引”按鈕來創(chuàng)建一個(gè)新的索引,在彈出框中輸入索引名稱,如下圖所示。分片數(shù)為5依次為0,1,2,3,4。數(shù)據(jù)副本為1,
在概覽中看到如下結(jié)果說明成功創(chuàng)建了索引。圖中帶有粗框的分片副本正是提供的數(shù)據(jù)副本,
step2:
在Head工具的“復(fù)合查詢”(Any Request)標(biāo)簽下,打開“查詢”(Query)選項(xiàng),如下圖所示。
- 輸入擬提交數(shù)據(jù)的索引文件名稱(這里用剛剛建的索引文件名稱myfirstindex)以及type(這里用share)、索引文檔唯一標(biāo)識(shí)符(即索引的id號(hào),這里用1);
- 選擇操作方式,這是選擇POST,POST為相當(dāng)于INSERT;
- 在文本框中輸入擬添加的JSON數(shù)據(jù);
- 提交后,就會(huì)在索引文件myfirstindex的類型文件share中,寫入指定信息。如出現(xiàn)右側(cè)內(nèi)容則標(biāo)識(shí)寫入成功。
三、查詢索引
還是在復(fù)合查詢標(biāo)簽下,選擇GET操作類型(相當(dāng)于SELECT),如下圖,就可以看到該索引文件的詳細(xì)信息。
四、操作說明
Elasticsearch的Head中用到了HTTP協(xié)議的4種請(qǐng)求方法,其中:
- POST是向服務(wù)器提交數(shù);
- GET是發(fā)送一個(gè)請(qǐng)求來取得服務(wù)器上的某一資源;
- PUT和POST都是向服務(wù)器發(fā)送數(shù)據(jù),但PUT通常指定了資源的存放位置;
- DELETE是用來刪除服務(wù)器上的某個(gè)資源。
五、Mapping簡(jiǎn)述
Elasticsearch中的Mapping類似于靜態(tài)語(yǔ)言中的數(shù)據(jù)類型。但是映像還有一些其他的含義,例如:執(zhí)行一系列的指令,將輸入的數(shù)據(jù)轉(zhuǎn)成可搜索的索引項(xiàng),使用映像可以查詢類型文件的各個(gè)字段的信息。
六、信息檢索
用戶可以利用Head工具,通過HTTP傳遞參數(shù)的方式來構(gòu)造一個(gè)簡(jiǎn)單的信息檢索語(yǔ)句。如下圖,指定在myfirstindex索引的share中,搜索字段為city_name其值為北京的檢索請(qǐng)求構(gòu)建方式。
圖的右側(cè)的hits中可以看到返回的結(jié)果,hits表示命中的檢索集合,total表示命中2條記錄,max_score是其評(píng)分。
URL構(gòu)建查詢語(yǔ)句時(shí),_search表示搜索RESTful接口,q后代表查詢條件,q后的=是基于Lucene語(yǔ)法的查詢表達(dá)式。