es中安裝ik分詞器

在線安裝ik插件(較慢)

docker exec -it es /bin/bash

./bin/es-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

看到報錯了,我訪問一下。就是沒有了

# 要是上面是安裝成功的,后面還要在執行下面的命令。
#退出
exit#重啟容器
docker restart elasticsearch

離線安裝ik插件

查看數據卷目錄

安裝插件需要知道elasticsearch的plugins目錄位置,而我們用了數據卷掛載,因此需要查看elasticsearch的數據卷目錄,通過下面命令查看。

docker volume inspect es-plugins

說明plugins目錄被掛載到了:/var/lib/docker/volumes/es-plugins/_data這個目錄中。

解壓分詞器安裝包

把這個ik分詞器壓縮包解壓一下,并且重命名成 ik

這是解壓后重命名的

上傳插件到es容器中

也就是/var/lib/docker/volumes/es-plugins/_data 目錄里面

重啟容器

#重啟容器
docker restart es
# 查看es日志
docker logs -f es

測試

IK分詞器包含兩種模式:

  • ik_smart:最少切分
  • ik_max_word:最細切分

GET /_analyze
{"analyzer": "ik_max_word","text": "現在學習Java真是太好啦"
}

結果

{"tokens" : [{"token" : "現在","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 0},{"token" : "在學","start_offset" : 1,"end_offset" : 3,"type" : "CN_WORD","position" : 1},{"token" : "學習","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 2},{"token" : "java","start_offset" : 4,"end_offset" : 8,"type" : "ENGLISH","position" : 3},{"token" : "真是太","start_offset" : 8,"end_offset" : 11,"type" : "CN_WORD","position" : 4},{"token" : "真是","start_offset" : 8,"end_offset" : 10,"type" : "CN_WORD","position" : 5},{"token" : "太好","start_offset" : 10,"end_offset" : 12,"type" : "CN_WORD","position" : 6},{"token" : "好啦","start_offset" : 11,"end_offset" : 13,"type" : "CN_WORD","position" : 7}]
}

擴展詞典

隨著互聯網的發展,“造詞運動”也越發的頻繁。出現了很多新的詞語,在原有的詞匯列表中并不存在。比如:“奧力給”,“泰酷辣” 等。

所以我們的詞匯也需要不斷的更新,IK分詞器提供了擴展詞匯的功能。

1、打開ik分詞器config目錄

2、在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">ext.dic</entry><!--用戶可以在這里配置自己的擴展停止詞字典--><entry key="ext_stopwords"></entry><!--用戶可以在這里配置遠程擴展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用戶可以在這里配置遠程擴展停止詞字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

3、新建一個 ext.dic,可以參考config目錄下復制一個配置文件進行修改

vim ext.dic

奧力給
泰酷辣

4、重啟elasticsearch

docker restart es# 查看日志
docker logs -f es

日志中已經成功加載 ext.dic 配置文件

5、測試效果

GET /_analyze
{"analyzer": "ik_max_word","text": "現在學習Java真是太好啦 奧力給"
}

注意當前文件的編碼必須是 UTF-8 格式,嚴禁使用Windows記事本編輯

停用詞 詞典

在互聯網項目中,在網絡間傳輸的速度很快,所以很多語言是不允許在網絡上傳遞的,如:關于宗教、政治等敏感詞語,那么我們在搜索時也應該忽略當前詞匯。

IK分詞器也提供了強大的停用詞功能,讓我們在索引時就直接忽略當前的停用詞匯表中的內容。

1、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">ext.dic</entry><!--用戶可以在這里配置自己的擴展停止詞字典--><entry key="ext_stopwords">stopword.dic</entry><!--用戶可以在這里配置遠程擴展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用戶可以在這里配置遠程擴展停止詞字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

# 新建停用詞 文件 
vim stopword.dic

sde 是我添加的停用詞

4、重啟es服務

# 重啟服務
docker restart elasticsearch
docker restart kibana# 查看 日志
docker logs -f elasticsearch

5、測試效果

GET /_analyze
{"analyzer": "ik_max_word","text": "現在學習Java真是太好啦 奧力給 sde"
}

注意當前文件的編碼必須是 UTF-8 格式,嚴禁使用Windows記事本編輯

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/73460.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/73460.shtml
英文地址,請注明出處:http://en.pswp.cn/web/73460.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最大字段和問題 C++(窮舉、分治法、動態規劃)

問題描述 給定由n個整數&#xff08;包含負整數&#xff09;組成的序列a1,a2,…,an&#xff0c;求該序列子段和的最大值。規定當所有整數均為負值時定義其最大子段和為0 窮舉法 最簡單的方法就是窮舉法&#xff0c;用一個變量指示求和的開始位置&#xff0c;一個變量指示結束…

如何理解三極管截至區、放大區、飽和區

一、 三極管符號&#xff1a; NPN : PNP: 二、Vce、與Ic曲線圖 1、截至區&#xff1a;ib很小的時候就是截至區。因為Ib很小的時候等價于Ub很小&#xff0c;Ub如果不足以達到0.7V PN結就不會導通&#xff0c;所以三極管就…

電腦上我的windows目錄下,什么是可以刪除的

在Windows系統目錄&#xff08;通常是C:\Windows&#xff09;中&#xff0c;大部分文件和文件夾都是系統運行所必需的&#xff0c;隨意刪除可能導致系統崩潰或程序無法運行。不過&#xff0c;部分文件可以安全清理。以下是詳細指南&#xff1a; 可安全清理的內容 臨時文件&…

工作中遇到的spark SQL小問題:包含某個或某些字符的條件

今天又來總結工作中遇到的問題了&#xff0c;今天是SQL&#xff0c;spark引擎 需求描述&#xff0c;篩選渠道包含”線上化“的數據 也就是討論where里面的這個篩選條件怎么寫 一般起手都是 where QD like %線上化%‘ 學習了其他的寫法: 1.INSTR函數 where INSTR(QD,&quo…

Git 命令操作完全指南

Git 是現代軟件開發中不可或缺的分布式版本控制系統。它不僅能追蹤代碼變更&#xff0c;還能協調多人協作、管理項目歷史。本文從核心概念入手&#xff0c;逐步深入講解 Git 的基礎與高級命令&#xff0c;結合實用場景&#xff0c;幫助您從入門到精通。 一、Git 核心概念 理解…

深入剖析帶頭循環雙向鏈表的實現與應用

引言 場景描述 想象一個 環形地鐵線路&#xff08;如深圳地鐵11號線&#xff09;&#xff0c;這條線路首尾相連&#xff0c;列車可以順時針或逆時針循環行駛。為了方便管理&#xff0c;地鐵系統設置了一個 “虛擬調度中心”&#xff08;頭節點&#xff09;&#xff0c;它不承…

DeepSeek Smallpond 在火山引擎 AI 數據湖的探索實踐

資料來源&#xff1a;火山引擎-開發者社區 DeepSeek Smallpond 介紹 Smallpond 是一套由 DeepSeek 推出的 、針對 AI 領域&#xff0c;基于 Ray 和 DuckDB 實現的輕量級數據處理引擎&#xff0c;具有以下優點&#xff1a; 1.輕量級 2.高性能 3.支持規模大 4.無需運維 5.P…

Linux進程間的通信

進程間通信 1.進程間通信介紹2.匿名命名管道原理操作 1.進程間通信介紹 1.1 進程間通信目的&#xff1a;一個進程需要將他的數據發送給另一個進程&#xff0c;大家應該都多少接觸過linux中的管道符"|"&#xff0c;這個符號就是用來多個命令執行&#xff0c;在Linux中…

直播預告 | TDgpt 智能體發布 時序數據庫 TDengine 3.3.6 發布會即將開啟

從海量監控數據&#xff0c;到工業、能源、交通等場景中實時更新的各類傳感器數據&#xff0c;時序數據正在以指數級速度增長。而面對如此龐雜的數據&#xff0c;如何快速分析、自動發現問題、精準預測未來&#xff0c;成為企業數字化轉型過程中的關鍵挑戰。 TDengine 的答案是…

手撕FIO工具指南:從壓測翻車到避坑實戰

文章目錄 手撕FIO工具指南&#xff1a;從壓測翻車到避坑實戰一、背景&#xff1a;一次FIO壓測引發的驚魂夜二、FIO vs 其他IO工具&#xff1a;為何讓人又愛又怕&#xff1f;三、安裝指南&#xff1a;避開依賴地獄四、參數詳解五、避坑指南&#xff1a;血淚經驗總結六、安全壓測…

智能汽車圖像及視頻處理方案,支持視頻星軌拍攝能力

美攝科技作為智能汽車圖像及視頻處理領域的先行者&#xff0c;正以革新性的技術引領著行業的未來發展。美攝科技智能汽車圖像及視頻處理方案&#xff0c;一個集高效性、智能化、畫質增強于一體的創新解決方案&#xff0c;旨在重塑智能汽車圖像畫質的新標準&#xff0c;并支持前…

B站左神算法課學習筆記(P7):圖

目錄 一、圖的存儲方式&#xff08;千奇百怪&#xff09; 1&#xff09;鄰接表 2&#xff09;鄰接矩陣 3&#xff09;其他 4&#xff09;推薦存儲方式&#xff08;代碼&#xff09; 二、圖的遍歷 &#xff08;1&#xff09;寬度優先遍歷 &#xff08;2&#xff09;深度…

深度解析「前綴和」與「差分法」:高效算法的基石

深度解析前綴和與差分法&#xff1a;高效算法的基石 在計算機科學和數據處理領域&#xff0c;前綴和&#xff08;Prefix Sum&#xff09;與差分法&#xff08;Difference Method&#xff09;是兩種基礎且高效的算法技術。它們在處理數組的區間查詢和區間修改操作時&#xff0c…

2-1 基本放大電路

放大的概念 mV →V mA→A 特征&#xff1a;放大功率&#xff08;電壓與電流&#xff09;。 本質&#xff1a;能量在控制下的轉換。&#xff08;外接供電電源&#xff09; 必要條件&#xff1a;有源元件&#xff08;能量控制原件&#xff09; 前提&#xff1a;不失真 測試的…

詳解接口的常見請求方式

詳解接口的常見請求方式 一、 常見接口請求方式1. GET2. POST3. PUT4. DELETE5. PATCH6. HEAD7. OPTIONS 二、 實現方法1. 前端實現2. 后端實現 三、 作用與主要區別四、 舉例講解1. 創建 Spring Boot 工程2. 添加依賴3. 編寫 Controller 實現接口關鍵點說明 4. 啟動與測試5. 總…

【附代碼】【MILP建模】3D裝箱問題(3D-Bin Packing Problem)

文章目錄 相關教程相關文獻問題描述建模思路——carton 方向平行軸建模方法&#xff08;9變量6約束&#xff09;平行軸建模方法&#xff08;4變量8約束&#xff09;枚舉建模方法&#xff08;6變量1約束&#xff09; 建模思路——carton 位置平行軸建模方法枚舉建模方法 Bin長寬…

【計算機網絡中的奈氏準則與香農定理】

文章目錄 一、前言二、奈氏準則1. 概念2. 奈氏準則公式3. 奈氏準則的意義 三、香農定理1. 概念2. 香農定理公式3. 香農定理的意義 四、奈氏準則與香農定理的對比五、應用示例1. 奈氏準則示例2. 香農定理示例 六、總結 一、前言 在計算機網絡中&#xff0c;數據的傳輸速率與信道…

【C++】回調函數和回調對象

文章目錄 回調可調用對象函數指針作回調函數對象作回調函數對象的使用std::function【C11】作回調使用 【C11】Lambda表達式作回調【C11】bind對象作回調std::bind的使用作回調使用 回調 當發生某種事件時需要調用或觸發另一個事件即為回調&#xff0c;回調的核心即為將可調用…

DeepSeek助力文案,智能音箱如何改變你的生活?

你好&#xff0c;我是三橋君 你有沒有為寫智能音箱的宣傳文案而抓耳撓腮過&#xff1f;三橋君在這方面可是有些感想&#xff0c;今天就來給你嘮嘮怎么用DeepSeek寫出超贊的智能音箱宣傳文案。 首先&#xff0c;你得給DeepSeek喂足“料”。這就好比做飯&#xff0c;你得準備好各…

【區塊鏈安全 | 第一篇】密碼學原理

文章目錄 1.哈希函數1.1 哈希函數的性質1.2 常見哈希算法1.3 Merkle Tree&#xff08;默克爾樹&#xff09;1.4 HMAC&#xff08;哈希消息認證碼&#xff09; 2. 公鑰密碼學2.1 對稱加密 vs 非對稱加密2.2 RSA 算法2.3 ECC&#xff08;橢圓曲線密碼學&#xff09;2.4 Diffie-He…