版本: ik-3.0
下載地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.3.0
安裝方式:
安裝方式一:
在elasticsearch的bin目錄下執行以下命令,es插件管理器會自動幫我們安裝。安裝完成後,重啓Elasticsearch 和Kibana
/usr/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.3.0/elasticsearch-analysis-ik-7.3.0.zip安裝方式二:在 elasticsearch 安裝目錄的 plugins 目錄下新建 analysis -ik,在目錄下上傳安裝包解壓,重啓Elasticsearch 和 Kibana# 新建 analysis-ik 文件夾mkdir analysis-ik# 切換至 analysis-ik 文件夾下cd analysis-ik# 上傳資料中的 elasticsearch-analysis-ik-7.3.0.zip# 解壓unzip elasticsearch-analysis-ik-7.3.3.zip# 解壓完成後刪除 ziprm -rf elasticsearch-analysis-ik-7.3.0.zip
IK分詞器有兩種分詞模式:ik_max_word和ik_smart。 ik_max_word粒度更細,經常使用。
如:南京市長江大橋 拆分結果:南京,南京市,市長,長江,大橋,長江大橋。 如果用id_smart只能分爲: 南京市, 長江大橋
擴展詞典: 有些詞分不出來,比如一個人名 江大橋,我們可以使用。
- 進入到 confifig/analysis-ik/(插件命令安裝方式) 或 plugins/analysis-ik/confifig(安裝包安裝方式) 目錄 下, 新增自定義詞典
- 創建自定義文本:vim lagou_ext_dict.dic , 輸入內容:江大橋
- 配置到分詞配置文件中(紅色部分):vim IKAnalyzer.cfg.xml
停用詞典:也可能有些詞出現頻率高,但是沒什麼意義,如:的,呢,了… 我們希望它不被索引,以提升索引速度
- 操作同擴展詞典,圖中綠色部分
同義詞典:比如輸入西紅柿,也能把番茄搜出來。那麼,我需要把西紅柿和番茄定義爲同義詞
Elasticsearch 自帶一個名爲 synonym 的同義詞 filter 。爲了能讓 IK 和 synonym 同時工作,我們需要定義新的分詞器analyzer ,用 IK 做 analyzer, synonym 做 filter 。
- 創建/config/analysis-ik/synonym.txt 文件,輸入一些同義詞並存爲 utf-8 格式。例如:china,中國
- 創建index時,指定synonym和analyzer
3.往index添加數據
那麼,我如果根據china 做搜索,效果和 中國 是一樣的
創建索引: PUT /lagou-company-index
查看索引: GET /lagou-company-index
批量查看: GET /lagou-company-index,lagou-employee-index