一、安裝Elasticsearch
Elasticsearch下載地址:http://www.elasticsearch.org/download/
・下載後直接解壓,進入目錄下的bin,在cmd下運行elasticsearch.bat 即可啟動Elasticsearch
・用瀏覽器訪問: http://localhost:9200/ ,如果出現類似如下結果則說明安裝成功:
{ "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 的插件形式存在的,可以直接通過插件安裝:
# ./bin/plugin -i elasticsearch/marvel/latest
如果你是從官網下載的安裝包,則運行:
# ./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)選項,如下圖所示。
三、查詢索引
還是在復合查詢標籤下,選擇GET操作類型(相當於SELECT),如下圖,就可以看到該索引文件的詳細信息。
四、操作說明
Elasticsearch的Head中用到了HTTP協議的4種請求方法,其中:
五、Mapping簡述
Elasticsearch中的Mapping類似於靜態語言中的數據類型。但是映像還有一些其他的含義,例如:執行一系列的指令,將輸入的數據轉成可搜索的索引項,使用映像可以查詢類型文件的各個字段的信息。
六、信息檢索
用戶可以利用Head工具,通過HTTP傳遞參數的方式來構造一個簡單的信息檢索語句。如下圖,指定在myfirstindex索引的share中,搜索字段為city_name其值為北京的檢索請求構建方式。
圖的右側的hits中可以看到返回的結果,hits表示命中的檢索集合,total表示命中2條記錄,max_score是其評分。
URL構建查詢語句時,_search表示搜索RESTful接口,q後代表查詢條件,q後的=是基於Lucene語法的查詢表達式。