前言

最近項(xiàng)目里為了加快后臺系統(tǒng)的搜索速度,決定接入開源的搜索引擎,于是大家都在對比較常用的幾個開源做技術(shù)調(diào)研,比如Lucene+盤龍分詞,Solr,還有本篇要介紹的Elasticsearch。話不多提,直接進(jìn)入主題。

一、安裝JDK

  1. 由于Elasticsearch v5.4.2需要Java 8或者更新版本的java,我們可以去Oracle官網(wǎng)下載,也可以選擇使用OpenJDK。

  2. 設(shè)置Java環(huán)境變量

    1. JAVA_HOME = C:\Program Files (x86)\Java\jdk1.8.0_131

    2. CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

    3. PATH = 原PATH+;%JAVA_HOME%\bin;

  3. 驗(yàn)證Java環(huán)境是否安裝成功,以及環(huán)境變量是否設(shè)置正確。在cmd窗口執(zhí)行javac命令,若結(jié)果如下圖,則說明Java環(huán)境已經(jīng)安裝正確。
    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

二、安裝Elasticsearch

  1. 下載。從官網(wǎng)下載Elasticsearch zip4.入2.zip 。

  2. 解壓文件。將下載的zip文件解壓到C:\elasticsearch\elasticsearch-5.4.2/,目錄結(jié)構(gòu)如下圖:
    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  3. 啟動Elasticsearch 。打開cmd窗口,進(jìn)入C:\elasticsearch\elasticsearch-5.4.2\bin,執(zhí)行腳本elasticsearch.bat,若結(jié)果如下圖,則Elasticsearch 啟動成功。
    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  4. 驗(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"}

    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

三、安裝Elasticsearch-Head

如下圖,Elasticsearch Head在5.x版本中已經(jīng)不再以插件的形式存在,而是作為了一個獨(dú)立的web了。
Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  1. 安裝

    // 從GitHug下載Headgit clone git://github.com/mobz/elasticsearch-head.git// 進(jìn)入下載好的目錄cd elasticsearch-head// 還原nmp包npm install// 運(yùn)行npm run start

    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  2. 驗(yàn)證。在瀏覽器中打開鏈接http://localhost:9100,如出現(xiàn)下圖,則說明安裝成功
    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

四、安裝ik分詞器

  1. 下載。ik分詞鏈接GitHub。由于ik分詞器要求與Elasticsearch的版本高度匹配,所以我們需要下載相應(yīng)的版本為5.4.2。

    git clone --branch v5.4.2 https://github.com/medcl/elasticsearch-analysis-ik.git

    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  2. 打包。在下載好的文件夾中執(zhí)行命令

    mvn package

    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  3. 解壓。在Elasticsearch安裝目錄下的文件夾plugins中新建文件夾ik,將上一步中生成的elasticsearch-analysis-ik-5.4.2.zip解壓到這里,如下圖:
    Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

  4. 檢驗(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)不同:

  1. 不需要修改Elasticsearch配置文件。Elasticsearch的配置文件路徑為elasticsearch.yml,在文件最后加入如下內(nèi)容:index.analysis.analyzer.ik.type : "ik"

  2. 測試ik分詞是否安裝成功時,使用的是ik_smart而不是ik。查看文檔,現(xiàn)在支持ik_smartik_max_word。

http://www.cnblogs.com/tonqiang/p/7087807.html