ElasticSearch5.6.1 + 中文分詞(IK)

奮程式序猿發表於2016-11-21

 

在安裝ElasticSearch 需要先安裝java 的 jdk

可以通過  命令來確認是否已經安裝了

java -version

如果沒有安裝可以使用 yum 直接安裝通過。

先通過命令檢視yum源中的 jdk版本

yum list |grep java |grep jdk

 

然後通過yum安裝

yum install -y java-1.8.0-openjdk

ElasticSearch安裝

官網:https://www.elastic.co

1.ElasticSearch安裝

1.1.下載tar包安裝

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.1.tar.gz
tar -xzf elasticsearch-5.6.1.tar.gz 

1.2.配置

先將解壓後的目錄檔案移動到 /usr/share/elasticsearch 目錄

mkdir /usr/share/elasticsearch #建立目錄
mv ./elasticsearch-5.6.1/* /usr/share/elasticsearch/ 移動目錄

進入config

cd /usr/share/elasticsearch/config

先配置 jvm.options

vim ./jvm.options

有一項 

-Xms2g
-Xmx2g

這個設定  因為是虛擬機器所以設定小一點 如下:

設定外網訪問  

 vim elasticsearch.yml

如圖 設定箭頭的兩個設定 為  0.0.0.0

 

 1.3.啟動

cd /usr/share/elasticsearch/config
./elasticsearch

發現啟動失敗

因為elasticsearch預設是不允許通過root使用者啟動的

解決方式建立一個es使用者 通過es使用者啟動

useradd es
passwod es #設定密碼
cd /usr/share/
chown  -Rf es:es ./elasticsearch #設定所屬使用者
su es #切換使用者
./elasticsearch/bin/elasticsearch

啟動還是失敗

錯誤提示:

解決方式 

切換回root使用者設定limits.conf  和 sysctl.conf

  這兩個配置

vim /etc/security/limits.conf 

在加入

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

編輯sysctl.conf 

vim /etc/sysctl.conf

在最後加入

vm.max_map_count=262144

再次切換回es使用者 啟動   -d 標示後臺執行

su es
/usr/share/elasticsearch/bin/elasticsearch -d

 

 

啟動後訪問curl  localhost:9200  得到

{
"name" : "kfxmWFv",
"cluster_name" : "my-application",
"cluster_uuid" : "K04PdttQSpm1XCLRJIJXsA",
"version" : {
"number" : "5.6.1",
"build_hash" : "667b497",
"build_date" : "2017-09-14T19:22:05.189Z",
"build_snapshot" : false,
"lucene_version" : "6.6.1"
},
"tagline" : "You Know, for Search"
}

2 安裝ik中文分詞外掛

2.1es5.5.1已上可以直接通過命令就可以安裝了

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.1/elasticsearch-analysis-ik-5.6.1.zip

 

 

 重新啟動 es   在安裝時es是要關閉的。

2.2 將ik 外掛 安裝到 ElasticSearch中

建立索引m8:為索引(m8)及型別(logs)下的欄位(message)設定分詞器(分詞器可選ik_smart或ik_max_word):

 

http put localhost:9200/m8 -d '{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "ik" : {
                    "tokenizer" : "ik_smart"
                }
            }
        }
    },
    "mappings" : {
        "logs" : {
            "dynamic" : true,
            "properties" : {
                "message" : {
                    "type" : "string",
                    "analyzer" : "ik_smart"
                }
            }
        }
    }
}'

如果提示http put不存在看下面

案例

http://localhost:9200/m8/_analyze?analyzer=ik_max_word&text=南京市長江大橋

結果

引數說明:

ik_max_word: 會將文字做最細粒度的拆分,比如會將“中華人民共和國國歌”拆分為“中華人民共和國,中華人民,中華,華人,人民共和國,人民,人,民,共和國,共和,和,國國,國歌”,會窮盡各種可能的組合;

ik_smart: 會做最粗粒度的拆分,比如會將“中華人民共和國國歌”拆分為“中華人民共和國,國歌”。

 

http put不存在問題:

yum install httpie

 轉載請註明來源 http://www.cnblogs.com/phpshen/p/6085274.html

相關文章