elasticsearch中ik分詞的使用
一、ik分詞簡介
ik中包含兩種分析器/分詞器:
Analyzer: ik_smart , ik_max_word
Tokenizer: ik_smart , ik_max_word
ik_max_word: 會將文字做最細粒度的拆分,比如會將“中華人民共和國國歌”拆分為“中華人民共和國,中華人民,中華,華人,人民共和國,人民,人,民,共和國,共和,和,國國,國歌”,會窮盡各種可能的組合;
ik_smart: 會做最粗粒度的拆分,比如會將“中華人民共和國國歌”拆分為“中華人民共和國,國歌”。
二、IK分詞的安裝
(1)使用IK安裝包安裝ik分詞
下載ik安裝包
解壓到資料夾:
your-es-root/plugins/ik
(2)使用IK原始碼安裝IK
1.下載ik原始碼包 zip,解壓到某個資料夾
2.使用cmd中cd到該資料夾
3.然後執行:
mvn package
4.複製並解壓 target/releases/elasticsearch-analysis-ik-{version}.zip 到 your-es-root/plugins/ik
5.重啟elasticsearch
附:maven安裝
maven主頁
http://maven.apache.org/download.cgi
1.maven下載地址
http://apache.fayea.com/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.zip
2.解壓到C:\java\maven
3.新建環境變數:MAVEN_HOME,設定為:C:\java\maven
修改環境變數:path,新增:%MAVEN_HOME%\bin;
三、ik分詞的詞庫配置
修改配置檔案IKAnalyzer.cfg.xml,在如下位置中找:
{conf}/analysis-ik/config/IKAnalyzer.cfg.xml
{plugins}/elasticsearch-analysis-ik-*/config/IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 擴充套件配置</comment>
<!--使用者可以在這裡配置自己的擴充套件字典 -->
<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry>
<!--使用者可以在這裡配置自己的擴充套件停止詞字典-->
<entry key="ext_stopwords">custom/ext_stopword.dic</entry>
<!--使用者可以在這裡配置遠端擴充套件字典 -->
<entry key="remote_ext_dict">location</entry>
<!--使用者可以在這裡配置遠端擴充套件停止詞字典-->
<entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry>
</properties>
四、在索引中應用ik分詞
ES預設的分詞器為standard, 想要改變預設分詞器為ik分詞器, 可以在config/elasticsearch.yml檔案中新增如下配置即可:
index.analysis.analyzer.default.type:ik_smart
建立mapping
PUT /testindex/_mapping/testtable
{
"testtable": {
"_all": {
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart",
"term_vector": "no",
"store": "false"
},
"properties": {
"demo": {
"type": "text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart",
"include_in_all": "true",
"boost": 8
}
}
}
}
參考:
ik原始碼及安裝
https://my.oschina.net/xiaohui249/blog/232784
http://blog.csdn.net/yusewuhen/article/details/50685685
分析器的使用及除錯
http://www.tuicool.com/articles/eUJJ3qF