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