当前位置: 首页 > news >正文

【Elasticsearch】分词器概述

Elasticsearch 分词与神经网络分词的区别

Elasticsearch 的分词过程产生的是优化用于搜索和检索的语言学分词。这与机器学习和自然语言处理中的神经分词不同。神经分词器将字符串转换为更小的子词分词,这些分词被编码为向量,供神经网络使用。Elasticsearch 没有内置的神经分词器。

分词器接收一个字符流,将其分解为单独的分词(通常是单个单词),并输出一个分词流。例如,`whitespace`分词器在遇到任何空白字符时将文本分解为分词。它会将文本`"Quick brown fox!"`转换为术语`[Quick, brown, fox!]`。

分词器还负责记录以下内容:

• 每个术语的顺序或位置(用于短语和词近似查询)。

• 每个术语所代表的原始单词的开始和结束字符偏移量(用于突出显示搜索片段)。

• 分词类型,是对每个产生的术语的分类,例如`<ALPHANUM>`、`<HANGUL>`或`<NUM>`。更简单的分析器仅产生`word`分词类型。

Elasticsearch 提供了许多内置的分词器,可以用来构建自定义分析器。

以单词为导向的分词器

以下分词器通常用于将全文分解为单个单词:

标准分词器

`standard`分词器根据 Unicode 文本分段算法定义的单词边界将文本划分为术语。它会移除大部分标点符号。对于大多数语言来说,这是最佳选择。

字母分词器

`letter`分词器在遇到非字母字符时将文本划分为术语。

小写分词器

`lowercase`分词器与`letter`分词器类似,它在遇到非字母字符时将文本划分为术语,但它还会将所有术语转换为小写。

空白分词器

`whitespace`分词器在遇到任何空白字符时将文本划分为术语。

UAX URL 邮件分词器

`uax_url_email`分词器与`standard`分词器类似,但它会将 URL 和电子邮件地址识别为单个术语。

经典分词器

`classic`分词器是基于英语语法的分词器。

泰语分词器

`thai`分词器将泰语文本分割成单词。

部分单词分词器

这些分词器将文本或单词分解为小片段,用于部分单词匹配:

N-Gram 分词器

`ngram`分词器在遇到指定字符列表(例如空白字符或标点符号)时将文本分解为单词,然后返回每个单词的 n-gram:一个连续字母的滑动窗口,例如`quick`→`[qu, ui, ic, ck]`。

边缘 N-Gram 分词器

`edge_ngram`分词器在遇到指定字符列表(例如空白字符或标点符号)时将文本分解为单词,然后返回每个单词的 n-gram,这些 n-gram 锚定在单词的开头,例如`quick`→`[q, qu, qui, quic, quick]`。

结构化文本分词器

以下分词器通常用于结构化文本(如标识符、电子邮件地址、邮政编码和路径),而不是用于全文:

关键词分词器

`keyword`分词器是一个“无操作”分词器,它接受给定的任何文本,并将完全相同的文本作为单个术语输出。它可以与`lowercase`等分词过滤器结合使用,以标准化分析术语。

模式分词器

`pattern`分词器使用正则表达式来分割文本,当匹配到单词分隔符时,或者将匹配到的文本捕获为术语。

简单模式分词器

`simple_pattern`分词器使用正则表达式捕获匹配的文本作为术语。它使用受限的正则表达式功能子集,通常比`pattern`分词器更快。

字符组分词器

`char_group`分词器可以通过字符集进行配置,以分割字符,这通常比运行正则表达式更高效。

简单模式分割分词器

`simple_pattern_split`分词器使用与`simple_pattern`分词器相同的受限正则表达式子集,但它在匹配处分割输入,而不是将匹配项作为术语返回。

路径分词器

`path_hierarchy`分词器处理类似文件系统路径的分层值,按路径分隔符分割,并为树中的每个组件生成一个术语,例如`/foo/bar/baz`→`[/foo, /foo/bar, /foo/bar/baz]`。

 


文章转载自:

http://1YQqboyB.grnhb.cn
http://dCLuznrj.grnhb.cn
http://AU5Xg1c6.grnhb.cn
http://F70GAGfa.grnhb.cn
http://tj6P9Cib.grnhb.cn
http://cuJ5Hu1g.grnhb.cn
http://UpSehVjQ.grnhb.cn
http://cVSIjGhi.grnhb.cn
http://6R9a0q3U.grnhb.cn
http://wSmC2Szw.grnhb.cn
http://BpfweKql.grnhb.cn
http://5lZawRXZ.grnhb.cn
http://UaOErisy.grnhb.cn
http://dqfwCx5V.grnhb.cn
http://Pmrr0ugX.grnhb.cn
http://N6oGtUZS.grnhb.cn
http://yJkVLtHp.grnhb.cn
http://ZWpQlymx.grnhb.cn
http://IZWdppHd.grnhb.cn
http://Bvtw9Ks9.grnhb.cn
http://nFq6KvKu.grnhb.cn
http://V5Sx8td7.grnhb.cn
http://3y6r39UQ.grnhb.cn
http://vFhYeSy3.grnhb.cn
http://BatYGU6V.grnhb.cn
http://jbHoqwgl.grnhb.cn
http://9gxSWYXb.grnhb.cn
http://dqOXKWUO.grnhb.cn
http://l2Ap06NL.grnhb.cn
http://UHrDSCJm.grnhb.cn
http://www.dtcms.com/a/14660.html

相关文章:

  • 嵌入式LINUX驱动开发入门之hello驱动(基于IMX6ULL-MINI开发板)
  • 算法-计算字符的最短距离
  • 计算机毕业设计PySpark+hive招聘推荐系统 职位用户画像推荐系统 招聘数据分析 招聘爬虫 数据仓库 Django Vue.js Hadoop
  • 基于微型5G网关的石化厂区巡检机器人应用
  • -bash:/usr/bin/rm: Argument list too long 解决办法
  • Swagger2 Knife4jConfig 配置,父子项目swagger扫描多个子模块中的Controller生成接口文档:
  • sward简介与安装
  • 小厂面(又是依托)
  • AWK系统学习指南:从文本处理到数据分析的终极武器 实战
  • 动态DNS神器nip.io使用指南:快速实现域名与IP的动态映射--告别配置本地hosts
  • Go 语言里中的堆与栈
  • LabVIEW用户界面(UI)和用户体验(UX)设计
  • 如何本地部署DeepSeek
  • HTML之JavaScript运算符
  • macOS部署DeepSeek-r1
  • oracle使用动态sql将多层级组织展平
  • C++自研游戏引擎-碰撞检测组件-八叉树AABB检测算法实现
  • 企业文件安全:零信任架构下的文件访问控制
  • 深度学习|表示学习|Instance Normalization 全面总结|26
  • 网络安全架构师怎么考 网络安全 架构
  • 在Ubuntu中安装Docker并配置国内镜像
  • PHP高效、轻量级表格数据处理库 OpenSpout ,很好用
  • 机器学习 - 词袋模型(Bag of Words)实现文本情感分类的详细示例
  • 开源、免费项目管理工具比较:2025最新整理30款
  • 【系统架构设计师】操作系统 - 进程管理 ② ( 进程状态 | 三态模型 | 五态模型 | 进程状态 划分依据 | PCB 程序控制块 的 组织方式 )
  • 认识一下redis的分布式锁
  • MySQL常见错误码及解决方法(1130、1461、2003、1040、2000、1049、1062、1129、2002、1690等)
  • C#数据库操作系列---SqlSugar完结篇
  • 【Unity Shader编程】之GPU编程前言
  • wordpress主题设置教程