ElasticSearch 分詞器介紹及測試:Standard(標準分詞器)、English(英文分詞器)、Chinese(中文分詞器)、IK(IK 分詞器)

ElasticSearch 分詞器介紹及測試:Standard(標準分詞器)、English(英文分詞器)、Chinese(中文分詞器)、IK(IK 分詞器)

  • ElasticSearch 分詞器介紹及測試
    • 1. Standard Analyzer(標準分詞器)
    • 2. English Analyzer(英文分詞器)
    • 3. Chinese Analyzer(中文分詞器)
    • 4. IK Analyzer(IK 分詞器)
    • 官網資源
    • 小結

本文 ElasticSearch 版本為:7.17.9,為了對應 spring-boot-starter-parent2.7.9 版本

ElasticSearch 分詞器介紹及測試

ElasticSearch 提供了多種內置的分詞器(Analyzer),用于文本的分析和分詞。分詞器是文本分析的核心,決定了如何把輸入的文本字符串分解成一個個“詞項”(token)。不同的分詞器適用于不同的語言和場景,如中文、英文等。本文將介紹常用的分詞器及其應用。

1. Standard Analyzer(標準分詞器)

  • 功能standard 是 ElasticSearch 的默認分詞器,基于 Unicode 文本分解標準,適用于多種語言。它會將文本中的標點符號、常見停用詞移除,并將文本轉化為小寫。
  • 用途:適用于大多數通用場景,尤其是處理混合語言或沒有特殊分詞需求的情況。
  • 分詞示例
    • 輸入:"The quick brown fox"
    • 輸出:["the", "quick", "brown", "fox"]

使用 ElasticSearch 的可視化界面 Kibana 的調試工具 Dev Tools 調用解析接口測試:

# `standard` 是 ElasticSearch 的默認分詞器,基于 Unicode 文本分解標準,適用于多種語言。它會將文本中的標點符號、常見停用詞移除,并將文本轉化為小寫。
POST /_analyze
{"analyzer": "standard","text": "The quick brown fox"
}

解析結果:

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.
{"tokens" : [{"token" : "the","start_offset" : 0,"end_offset" : 3,"type" : "<ALPHANUM>","position" : 0},{"token" : "quick","start_offset" : 4,"end_offset" : 9,"type" : "<ALPHANUM>","position" : 1},{"token" : "brown","start_offset" : 10,"end_offset" : 15,"type" : "<ALPHANUM>","position" : 2},{"token" : "fox","start_offset" : 16,"end_offset" : 19,"type" : "<ALPHANUM>","position" : 3}]
}

2. English Analyzer(英文分詞器)

  • 功能english 分詞器專用于英文文本的分析,除了進行基本的分詞,還會進行停用詞過濾,并將所有文本轉換為小寫字母。
  • 用途:適用于英文文本的分析,特別是在英文搜索引擎或英文數據處理中。
  • 分詞示例
    • 輸入:"The quick brown fox"
    • 輸出:["quick", "brown", "fox"]the 被移除作為停用詞)

使用 ElasticSearch 的可視化界面 Kibana 的調試工具 Dev Tools 調用解析接口測試:

# `english` 分詞器專用于英文文本的分析,除了進行基本的分詞,還會進行停用詞過濾,并將所有文本轉換為小寫字母。
POST /_analyze
{"analyzer": "english","text": "The quick brown fox"
}

解析結果:

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.
{"tokens" : [{"token" : "quick","start_offset" : 4,"end_offset" : 9,"type" : "<ALPHANUM>","position" : 1},{"token" : "brown","start_offset" : 10,"end_offset" : 15,"type" : "<ALPHANUM>","position" : 2},{"token" : "fox","start_offset" : 16,"end_offset" : 19,"type" : "<ALPHANUM>","position" : 3}]
}

3. Chinese Analyzer(中文分詞器)

  • 功能chinese 分詞器專為中文文本設計,基于分詞字典并結合最大匹配法等技術,將中文文本分解成多個詞項。
  • 用途:適用于中文文本的分詞處理,特別是中文搜索引擎和中文語料處理。對中文的解析很差
  • 分詞示例
    • 輸入:"今天天氣很好"
    • 期望的輸出:["今天", "天氣", "很", "好",]
    • 實際的輸出:["今","天", "天","氣", "很", "好"]

使用 ElasticSearch 的可視化界面 Kibana 的調試工具 Dev Tools 調用解析接口測試:

# `chinese` 分詞器專為中文文本設計,基于分詞字典并結合最大匹配法等技術,將中文文本分解成多個詞項。
# `chinese` 分詞器專為中文文本設計,基于分詞字典并結合最大匹配法等技術,將中文文本分解成多個詞項。
POST /_analyze
{"analyzer": "chinese","text": "今天天氣很好"
}

解析結果:

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.
{"tokens" : [{"token" : "今","start_offset" : 0,"end_offset" : 1,"type" : "<IDEOGRAPHIC>","position" : 0},{"token" : "天","start_offset" : 1,"end_offset" : 2,"type" : "<IDEOGRAPHIC>","position" : 1},{"token" : "天","start_offset" : 2,"end_offset" : 3,"type" : "<IDEOGRAPHIC>","position" : 2},{"token" : "氣","start_offset" : 3,"end_offset" : 4,"type" : "<IDEOGRAPHIC>","position" : 3},{"token" : "很","start_offset" : 4,"end_offset" : 5,"type" : "<IDEOGRAPHIC>","position" : 4},{"token" : "好","start_offset" : 5,"end_offset" : 6,"type" : "<IDEOGRAPHIC>","position" : 5}]
}

4. IK Analyzer(IK 分詞器)

  • 官網資源:IK Analyzer GitHub 頁面
  • 功能IK Analyzer 是一個開源的中文分詞器,專門用于處理中文文本。它結合了多種中文分詞技術,支持細粒度和粗粒度的分詞。
  • 安裝:需要作為 ElasticSearch 插件安裝,支持通過精確模式和智能模式兩種分詞策略。
  • 分詞示例
    • 輸入:"今天天氣不錯,適合出游"
    • ik_smart(最少切分)["今天天氣", "不錯", "適合", "出游"]
    • ik_max_word(最細切分)["今天天氣", "今天", "天天", "天氣", "不錯", "適合", "合出", "出游"]
  • 擴展詞典:支持自定義擴展詞典,用戶可以添加特定詞語、行業術語、網絡熱詞等。【安裝IK分詞器;IK分詞器配置擴展詞庫:配置擴展字典-擴展詞,配置擴展停止詞字典-停用詞】

使用 ElasticSearch 的可視化界面 Kibana 的調試工具 Dev Tools 調用解析接口測試:

# `IK Analyzer` ik_smart(最少切分)。
POST /_analyze
{"analyzer": "ik_smart","text": "今天天氣不錯,適合出游"
}

解析結果:

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.
{"tokens" : [{"token" : "今天天氣","start_offset" : 0,"end_offset" : 4,"type" : "CN_WORD","position" : 0},{"token" : "不錯","start_offset" : 4,"end_offset" : 6,"type" : "CN_WORD","position" : 1},{"token" : "適合","start_offset" : 7,"end_offset" : 9,"type" : "CN_WORD","position" : 2},{"token" : "出游","start_offset" : 9,"end_offset" : 11,"type" : "CN_WORD","position" : 3}]
}

使用 ElasticSearch 的可視化界面 Kibana 的調試工具 Dev Tools 調用解析接口測試:

# `IK Analyzer` ik_smart(最少切分)。
POST /_analyze
{"analyzer": "ik_smart","text": "今天天氣不錯,適合出游"
}

解析結果:

#! Elasticsearch built-in security features are not enabled. Without authentication, your cluster could be accessible to anyone. See https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-minimal-setup.html to enable security.
{"tokens" : [{"token" : "今天天氣","start_offset" : 0,"end_offset" : 4,"type" : "CN_WORD","position" : 0},{"token" : "今天","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 1},{"token" : "天天","start_offset" : 1,"end_offset" : 3,"type" : "CN_WORD","position" : 2},{"token" : "天氣","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 3},{"token" : "不錯","start_offset" : 4,"end_offset" : 6,"type" : "CN_WORD","position" : 4},{"token" : "適合","start_offset" : 7,"end_offset" : 9,"type" : "CN_WORD","position" : 5},{"token" : "合出","start_offset" : 8,"end_offset" : 10,"type" : "CN_WORD","position" : 6},{"token" : "出游","start_offset" : 9,"end_offset" : 11,"type" : "CN_WORD","position" : 7}]
}

官網資源

你可以訪問 ElasticSearch 官方文檔頁面,獲取有關不同分詞器和分析器的詳細介紹,以及如何配置和使用它們:

  • ElasticSearch 分析器官方文檔

小結

ElasticSearch 提供了多種內置分詞器,能夠適應不同語言和文本格式的需求。選擇合適的分詞器對于實現高效的搜索和分析至關重要。你可以根據實際的應用場景選擇 standardchineseenglish 等分詞器,或根據需要創建自定義分詞器來滿足特定的文本分析需求。如果你有特殊的需求,可以深入研究分詞器的配置選項和擴展方式。

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

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

相關文章

【計算機網絡】確認家庭網絡是千兆/百兆帶寬并排查問題

要確認你的帶寬是千兆&#xff08;1000Mbps&#xff09;還是百兆&#xff08;100Mbps&#xff09;&#xff0c;可以通過以下方法逐步排查&#xff1a; 一、檢查物理設備 1. 查看路由器和光貓的網口 千兆網口&#xff1a;路由器或光貓的網口旁通常會標注 “10/100/1000M” 或 …

[數據分享第七彈]全球洪水相關數據集

洪水是一種常見的自然災害&#xff0c;在全球范圍內造成了極為嚴重的威脅。近年來&#xff0c;針對洪水事件的檢測分析&#xff0c;以及對于洪水災害和災后恢復能力的研究日漸增多&#xff0c;也產生了眾多洪水數據集。今天&#xff0c;我們一起來收集整理一下相關數據集。&…

深入探討AI-Ops架構 第一講 - 運維的進化歷程以及未來發展趨勢

首先&#xff0c;讓我們一起回顧運維的進化之路&#xff0c;然后再深入探討AI-Ops架構的細節。 運維的進化歷程 1. AI 大范圍普及前的運維狀態 (傳統運維) 在AI技術尚未廣泛滲透到運維領域之前&#xff0c;我們稱之為傳統運維&#xff0c;其主要特點是&#xff1a; 人工驅動…

Hive-數據傾斜優化

數據傾斜的原因 1&#xff09;key分布不均勻&#xff0c;本質上就是業務數據有可能會存在傾斜 2&#xff09;某些SQL語句本身就有數據傾斜 關鍵詞 情形 后果 Join A、其中一個表較小&#xff0c;但是key集中; B、兩張表都是大表&#xff0c;key不均 分發到…

番外篇 - Docker的使用

一、Docker的介紹 Docker 是一個開源的應用容器引擎&#xff0c;基于 Go 語言 并遵從Apache2.0協議開源。 Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中&#xff0c;然后發布到任何流行的 Linux 機器上&#xff0c;也可以實現虛擬化。 容器是完…

深度學習與普通神經網絡有何區別?

深度學習與普通神經網絡的主要區別體現在以下幾個方面&#xff1a; 一、結構復雜度 普通神經網絡&#xff1a;通常指淺層結構&#xff0c;層數較少&#xff0c;一般為2-3層&#xff0c;包括輸入層、一個或多個隱藏層、輸出層。深度學習&#xff1a;強調通過5層以上的深度架構…

RuleOS:區塊鏈開發的“新引擎”,點燃Web3創新之火

RuleOS&#xff1a;區塊鏈開發的“新引擎”&#xff0c;點燃Web3創新之火 在區塊鏈技術的浪潮中&#xff0c;RuleOS宛如一臺強勁的“新引擎”&#xff0c;為個人和企業開發去中心化應用&#xff08;DApp&#xff09;注入了前所未有的動力。它以獨特的設計理念和強大的功能特性&…

c# MimeEntity修改郵件附件名稱

在C#中&#xff0c;當你使用如MimeKit庫來處理電子郵件時&#xff0c;你可以通過修改MimeEntity的ContentDisposition屬性來更改郵件附件的名稱。以下是如何做到這一點的步驟&#xff1a; 1. 添加MimeKit引用 首先&#xff0c;確保你的項目中已經添加了MimeKit庫。如果你使用…

Windows編譯環境搭建(MSYS2\MinGW\cmake)

我的音視頻/流媒體開源項目(github) 一、基礎環境搭建 1.1 MSYS2\MinGW 參考&#xff1a;1. 基于MSYS2的Mingw-w64 GCC搭建Windows下C開發環境_msys2使用mingw64編譯 在Widndows系統上&#xff0c;使用gcc工具鏈&#xff08;g&#xff09;進行C程序開發&#xff1f;可以的&a…

TikTok美國戰略升級:聚焦美食旅行,本地化服務如何重塑市場格局

平臺深耕本土內容生態&#xff0c;餐飲旅游創作者迎流量紅利&#xff0c;算法推薦機制激發地域經濟新活力 過去一年&#xff0c;TikTok在美國市場的動作頻頻引發行業關注。從早期以娛樂、舞蹈為主的全球化內容&#xff0c;到如今將資源向美食、旅行兩大垂類傾斜&#xff0c;這…

Unity Dots環境配置

文章目錄 前言環境配置1.新建Unity 工程2.安裝Entities包2.安裝EntitiesGraphics包3.安裝URP渲染管線 Dots窗口 前言 DOTS&#xff08;Data-Oriented Technology Stack&#xff09;是Unity推出的一種用于開發高性能游戲和應用的數據導向技術棧&#xff0c;包含三大核心組件&am…

manus對比ChatGPT-Deep reaserch進行研究類學術相關數據分析!誰更勝一籌?

沒有賬號&#xff0c;只能挑選一個案例 一夜之間被這個用全英文介紹全華班出品的新爆款國產AI產品的小胖刷頻。白天還沒有切換語言的選項&#xff0c;晚上就加上了。簡單看了看團隊夠成&#xff0c;使用很長實踐的Monica創始人也在其中。逐漸可以理解&#xff0c;重心放在海外產…

Python項目-基于Django的在線教育平臺開發

1. 項目概述 在線教育平臺已成為現代教育的重要組成部分&#xff0c;特別是在后疫情時代&#xff0c;遠程學習的需求顯著增加。本文將詳細介紹如何使用Python的Django框架開發一個功能完善的在線教育平臺&#xff0c;包括系統設計、核心功能實現以及部署上線等關鍵環節。 本項…

【自學筆記】Numpy基礎知識點總覽-持續更新

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 Numpy基礎知識點總覽目錄1. 簡介Numpy是什么為什么使用Numpy 2. 數組對象&#xff08;ndarray&#xff09;創建數組數組的屬性數組的形狀操作 3. 數組的基本操作數組…

Kubernetes中的 iptables 規則介紹

#作者&#xff1a;鄧偉 文章目錄 一、Kubernetes 網絡模型概述二、iptables 基礎知識三、Kubernetes 中的 iptables 應用四、查看和調試 iptables 規則五、總結 在 Kubernetes 集群中&#xff0c;iptables 是一個核心組件&#xff0c; 用于實現服務發現和網絡策略。iptables 通…

.NET Core全屏截圖,C#全屏截圖

.NET Core全屏截圖&#xff0c;C#全屏截圖 使用框架&#xff1a; WPF.NET 8 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Linq; using System.Text; using System.Threading.Tasks; using System.W…

Java直通車系列15【Spring MVC】(ModelAndView 使用)

目錄 1. ModelAndView 概述 2. ModelAndView 的主要屬性和方法 主要屬性 主要方法 3. 場景示例 示例 1&#xff1a;簡單的 ModelAndView 使用 示例 2&#xff1a;使用 ModelAndView 處理列表數據 示例 3&#xff1a;使用 ModelAndView 處理異常情況 1. ModelAndView 概…

視頻圖像刷新到HTTP的原理

上一篇博客已經說了cgi拿到了共享內存的程序還需要處理的才能夠真正刷新到網頁里面去 HTTP協議介紹 HTTP中文名稱是超文本傳輸協議&#xff0c;它是一個簡單的請求.響應協議&#xff0c;HTTP協議它運行在TCP上面&#xff0c;它是互聯網數據通信的基礎。 幾乎所有的網頁請求和互…

2024四川大學計算機考研復試上機真題

2024四川大學計算機考研復試上機真題 2024四川大學計算機考研復試機試真題 歷年四川大學計算機考研復試機試真題 在線評測&#xff1a;https://app2098.acapp.acwing.com.cn/ 分數求和 題目描述 有一分數序列&#xff1a; 2/1 3/2 5/3 8/5 13/8 21/13… 求出這個數列的前 …

Python評估網絡脆弱性

一、網絡安全 &#xff08;1&#xff09;網絡安全的定義 網絡安全是指計算機網絡系統中的硬件、數據、程序等不會因為無意或惡意的原因而遭到破壞、篡改、泄露&#xff0c;防止非授權的使用或訪問&#xff0c;系統能夠保持服務的連續性&#xff0c;以及能夠可靠的運行。網絡安…