IK分詞器的安裝與使用

来源:https://www.cnblogs.com/itbsl/archive/2020/07/27/13387743.html
-Advertisement-
Play Games

分詞器 什麼是IK分詞器? 分詞:即把一段中文或者別的劃分成一個個的關鍵字,我們在搜索時會把自己的信息進行分詞,會把資料庫中或者索引庫中的數據進行分詞,然後進行一個匹配操作,Elasticsearch的標準分詞器,會將中文分為一個一個的字,而不是詞,比如:“石原美里”會被分為“石”、“原”、“美”、 ...


分詞器

什麼是IK分詞器?

分詞:即把一段中文或者別的劃分成一個個的關鍵字,我們在搜索時會把自己的信息進行分詞,會把資料庫中或者索引庫中的數據進行分詞,然後進行一個匹配操作,Elasticsearch的標準分詞器,會將中文分為一個一個的字,而不是詞,比如:“石原美里”會被分為“石”、“原”、“美”、“里”,這顯然是不符合要求的,所以我們需要安裝中文分詞器IK來解決這個問題。

IK提供了兩個分詞演算法:ik_smart和ik_max_word,其中ik_smart為最少切分,ik_max_word為最細力度劃分。

安裝IK分詞器

中文分詞插件IK的網址是 https://github.com/medcl/elasticsearch-analysis-ik

我們可以通過find / -name elasticsearch-plugin命令搜索elasticsearch-plugin在什麼地方

安裝IK時要註意將github上示例的版本改成自己的elasticsearch版本,我安裝的是7.6.2,所以改成如下:

/usr/share/elasticsearch/bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

安裝後重啟Elasticsearch服務

我們可以通過如下命令查看安裝的Elasticsearch插件

/usr/share/elasticsearch/bin/elasticsearch-plugin list

使用IK分詞器

首先我們通過最ik_smart小切分來測試

接著,我們通過ik_max_word最細力度切分來測試

但是有些我們自己造的詞,分詞器是無法識別的(比如:白兮會被識別為兩個詞:白和兮),這就需要我們自己加到分詞器的字典中。

通過RPM方式安裝的IK擴展配置文件地址如下

vim /etc/elasticsearch/analysis-ik/IKAnalyzer.cfg.xml

現在我們在/etc/elasticsearch/analysis-ik目錄下創建一個自己的詞典,例如:my.dic,併在其中添加"白兮"然後保存

這裡要記得將my.dic文件所屬的用戶和組分別改為root和elasticsearch,防止elasticsearch用戶是無法讀取該文件的內容的,我們可以看到預設的其它詞典都是預設屬於root用戶和elasticsearch組的,我們把自定義的詞典也改成這樣

然後將我們新建的my.dic文件增加到IKAnalyzer.cfg.xml配置文件中

添加後重啟Elasticsearch,然後通過kibana再重新測試,可以發現,白兮已經被識別為一個詞了。

如果該文章對您有幫助,請點擊推薦,感謝。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 最近用戶反映一些電腦啟動程式就崩潰,還給演示了一個比較詭異的問題 “把軟體重新拷貝到另外一個目錄,就能正常運行"。還說過一段時間又不能運行需要在換個位置。 ’由於當時沒有設置全局異常,只能藉助系統操作日誌來分析, 系統日誌記錄不全,就說發生一個異常程式掛掉。 就簡單加上全局異常捕獲。 public ...
  • Kubernetes K8S 概述、特性與架構說明,以及核心技術概念和API對象詳解 ...
  • 大家好,我是良許。 相信大家平時都會有需要複製粘貼數據的時候,如果是打開文件進行複製粘貼,就不可避免的需要較多的滑鼠與鍵盤的操作,就會比較繁瑣。那麼有沒有可以省掉這些繁瑣操作的複製粘貼的方法呢? 答案是肯定的,那就是重定向。重定向是一種高效的方法,無需大量的滑鼠與鍵盤操作就可以完成數據的轉移。重定向 ...
  • 下麵簡單的總結一下,自己對進程間通信的理解。首先,要意識到一點:各進程間擁有相互獨立的地址空間,所以進程間無法在用戶態完成通信,必須要藉助操作系統,也就是內核態來完成相應的操作。 內核態和用戶態 由上圖可知,系統分為內核態和用戶態,其中內核態包括內核,用戶態主要指應用程式。內核控制了電腦的軟體和硬 ...
  • Jenkins插件的安裝、插件依賴關係及插件版本迭代 本文檔適用於解決 jenkins部署 完成後,插件的安裝、依賴及版本迭代問題 在有網的環境部署jenkins的插件問題 安裝插件 因為訪問外網需要手動配置代理的原因,第一次登進去後會出現以下的界面 可以選擇配置代理來解決 解決後會出現 插件的安裝 ...
  • 基於docker部署Jenkins 0.我做這個文檔的時候,大概是19年12月前後,那會er2.200是最新版的。 1. 下載鏡像 docker pull jenkins/jenkins 一定要安裝最新版的 jenkins,舊版本,很多插件無法安裝 2. 查看jenkins的詳細信息 docker ...
  • 使用Fcitx5,可以使用雙拼,可以使用雲端聯想,可以引用詞庫(不用再自己養詞庫了!) ...
  • 半導體工程組織JEDEC為動態隨機存取存儲器(DRAM)設定了標準,該組織上周發佈了最終的JESD79-5DDR5規範。新型存儲器是其每引腳數據傳輸速度的兩倍,其存儲設備的容量增加了四倍,降低了工作電壓,並引入了多種方法來提高瘦節點上DRAM的可靠性-並降低功耗。JEDEC說,DDR5 SDRAM將 ...
一周排行
    -Advertisement-
    Play Games
  • MQTTnet 是一個高性能的MQTT類庫,支持.NET Core和.NET Framework。 MQTTnet 原理: MQTTnet 是一個用於.NET的高性能MQTT類庫,實現了MQTT協議的各個層級,包括連接、會話、發佈/訂閱、QoS(服務質量)等。其原理涉及以下關鍵概念: MqttCli ...
  • 在WPF中,源屬性(Source Property)指的是提供數據的屬性,通常是數據模型或者其他控制項的屬性,而目標屬性(Target Property)則是數據綁定的目標,通常是綁定到控制項的屬性,例如TextBlock的Text屬性。數據綁定將源屬性的值自動更新到目標屬性中。 主要包含以下幾個事件: ...
  • async/await 是 C# 中非同步編程的關鍵特性,它使得非同步代碼編寫更為簡單和直觀。下麵深入詳細描述了 async/await 的使用場景、優點以及一些高級使用方法,並提供了相應的實例源代碼。 使用場景: I/O 操作: 非同步編程特別適用於涉及 I/O 操作(如文件讀寫、網路請求等)的場景。在 ...
  • 使用過office的visio軟體畫圖的小伙伴都知道,畫圖軟體分為兩部分,左側圖形庫,存放各種圖標,右側是一個畫布,將左側圖形庫的圖標控制項拖拽到右側畫布,就會生成一個新的控制項,並且可以自由拖動。那如何在WPF程式中,實現類似的功能呢?今天就以一個簡單的小例子,簡述如何在WPF中實現控制項的拖拽和拖動,... ...
  • 1、Blazor Hybrid簡介 Blazor Hybrid 使開發人員能夠將桌面和移動本機客戶端框架與 .NET 和 Blazor 結合使用。在 Blazor Hybrid 應用中,Razor 組件在設備上是本機運行的。 這些組件通過本地互操作通道呈現到嵌入式 Web 視圖控制項。 組件不在瀏覽器 ...
  • 除了內置的數據集,scikit-learn還提供了隨機樣本的生成器。通過這些生成器函數,可以生成具有特定特性和分佈的隨機數據集,以幫助進行機器學習演算法的研究、測試和比較。 目前,scikit-learn庫(v1.3.0版)中有20個不同的生成樣本的函數。本篇重點介紹其中幾個具有代表性的函數。 1. ...
  • 從0到1,手把手帶你開發截圖工具ScreenCap------002實現通過文件對話框,選擇合適的文件夾,自定義預設的圖片保存位置,簡單易學 ...
  • 每次談到容器的時候,除了Docker之外,都會說起 Kubernetes,那麼什麼是 Kubernetes呢?今天就來一起學快速入門一下 Kubernetes 吧!希望本文對您有所幫助。 Kubernetes,一種用於管理和自動化雲中容器化工作負載的工具。 想象一下你有一個管弦樂隊,將每個音樂家視為 ...
  • 目錄 基本說明 安裝 Nginx 部署 VUE 前端 部署 Django 後端 Django admin 靜態文件(CSS,JS等)丟失的問題 總結 1. 基本說明 本文介紹了在 windows 伺服器下,通過 Nginx 部署 VUE + Django 前後端分離項目。本項目前端運行在 80 埠 ...
  • 從0到1,手把手帶你開發截圖工具ScreenCap------003實現最小化程式到托盤運行,- 為了方便截圖乾凈,實現最小化程式到托盤運行,簡潔,勿擾,實現最小化程式到托盤運行, 實現托盤菜單功能,實現回顯主窗體, 實現托盤開始截屏, 實現氣泡信息提示,實現托盤程式提示,實現托盤退出程式, 封裝完... ...