前言
最近項(xiàng)目里為了加快后臺系統(tǒng)的搜索速度,決定接入開源的搜索引擎,于是大家都在對比較常用的幾個開源做技術(shù)調(diào)研,比如Lucene+盤龍分詞
,Solr
,還有本篇要介紹的Elasticsearch
。話不多提,直接進(jìn)入主題。
一、安裝JDK
由于Elasticsearch v5.4.2需要Java 8或者更新版本的java,我們可以去Oracle官網(wǎng)下載,也可以選擇使用OpenJDK。
設(shè)置Java環(huán)境變量
JAVA_HOME
=C:\Program Files (x86)\Java\jdk1.8.0_131
CLASSPATH
=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
PATH
= 原PATH+;%JAVA_HOME%\bin;
驗(yàn)證Java環(huán)境是否安裝成功,以及環(huán)境變量是否設(shè)置正確。在
cmd
窗口執(zhí)行javac
命令,若結(jié)果如下圖,則說明Java環(huán)境已經(jīng)安裝正確。
二、安裝Elasticsearch
解壓文件。將下載的zip文件解壓到
C:\elasticsearch\elasticsearch-5.4.2/
,目錄結(jié)構(gòu)如下圖:啟動Elasticsearch 。打開
cmd
窗口,進(jìn)入C:\elasticsearch\elasticsearch-5.4.2\bin
,執(zhí)行腳本elasticsearch.bat
,若結(jié)果如下圖,則Elasticsearch 啟動成功。驗(yàn)證Elasticsearch是否安裝成功。如上圖,Elasticsearch 默認(rèn)使用的是
9200
端口,接下來在瀏覽器中打開鏈接http://localhost:9200,返回如下結(jié)果則說明安裝成功。{ "name" : "KPIXVlC", "cluster_name" : "elasticsearch", "cluster_uuid" : "uCSF389FQISmiuK3__BSHA", "version" : { "number" : "5.4.2", "build_hash" : "929b078", "build_date" : "2017-06-15T02:29:28.122Z", "build_snapshot" : false, "lucene_version" : "6.5.1" }, "tagline" : "You Know, for Search"}
三、安裝Elasticsearch-Head
如下圖,Elasticsearch Head在5.x版本中已經(jīng)不再以插件的形式存在,而是作為了一個獨(dú)立的web了。
安裝
// 從GitHug下載Headgit clone git://github.com/mobz/elasticsearch-head.git// 進(jìn)入下載好的目錄cd elasticsearch-head// 還原nmp包npm install// 運(yùn)行npm run start
驗(yàn)證。在瀏覽器中打開鏈接http://localhost:9100,如出現(xiàn)下圖,則說明安裝成功
四、安裝ik分詞器
下載。ik分詞鏈接GitHub。由于ik分詞器要求與Elasticsearch的版本高度匹配,所以我們需要下載相應(yīng)的版本為5.4.2。
git clone --branch v5.4.2 https://github.com/medcl/elasticsearch-analysis-ik.git
打包。在下載好的文件夾中執(zhí)行命令
mvn package
解壓。在Elasticsearch安裝目錄下的文件夾plugins中新建文件夾ik,將上一步中生成的
elasticsearch-analysis-ik-5.4.2.zip
解壓到這里,如下圖:檢驗(yàn)ik安裝結(jié)果。重啟Elasticsearch,在Sense插件中輸入如下內(nèi)容
GET default-index/_analyze?analyzer=ik_smart&pretty=true{"text":"我的家鄉(xiāng)是武漢,我愛美麗的江城"}
如安裝正常,結(jié)果如下
{ "tokens": [ { "token": "我", "start_offset": 0, "end_offset": 1, "type": "CN_CHAR", "position": 0 }, { "token": "家鄉(xiāng)", "start_offset": 2, "end_offset": 4, "type": "CN_WORD", "position": 1 }, { "token": "武漢", "start_offset": 5, "end_offset": 7, "type": "CN_WORD", "position": 2 }, { "token": "我", "start_offset": 8, "end_offset": 9, "type": "CN_CHAR", "position": 3 }, { "token": "愛美麗", "start_offset": 9, "end_offset": 12, "type": "CN_WORD", "position": 4 }, { "token": "江城", "start_offset": 13, "end_offset": 15, "type": "CN_WORD", "position": 5 } ]}
到此Elasticsearch,Elasticsearch Head, ik分詞器都已經(jīng)安裝成功。
注意:安裝ik分詞器過程中發(fā)現(xiàn)與老版本2.x.x有兩點(diǎn)不同:
不需要修改Elasticsearch配置文件。Elasticsearch的配置文件路徑為
elasticsearch.yml
,在文件最后加入如下內(nèi)容:index.analysis.analyzer.ik.type : "ik"
測試ik分詞是否安裝成功時,使用的是
ik_smart
而不是ik
。查看文檔,現(xiàn)在支持ik_smart
與ik_max_word
。
http://www.cnblogs.com/tonqiang/p/7087807.html