钛钢饰品网站建设,利津网站建设哪家好,小时的网站建设,外贸网站建设公司流程图1.分词器
分词器是 Elasticsearch 用于将文本拆分为单词#xff08;词项#xff09;的组件#xff0c;以便于搜索和索引。以下是一些关于 Elasticsearch 分词器的常见问题和相关操作的介绍#xff1a;
1#xff09;什么是分词器#xff1f;
分词器是 Elasticsearch 中…1.分词器
分词器是 Elasticsearch 用于将文本拆分为单词词项的组件以便于搜索和索引。以下是一些关于 Elasticsearch 分词器的常见问题和相关操作的介绍
1什么是分词器
分词器是 Elasticsearch 中的一个组件用于将文本转换为词项以便于搜索和索引。它负责将输入的文本进行拆分、标准化和处理生成最终的词项列表。
2常用分词器
Elasticsearch 提供了多个内置的分词器每个分词器适用于不同的场景和需求。以下是一些常用的内置分词器
standard 分词器 standard 分词器是 Elasticsearch 默认的分词器适用于大多数情况。它会根据空格和标点符号将文本拆分为词项并进行小写转换和标点符号过滤。simple 分词器 simple 分词器会根据非字母字符将文本拆分为词项并将词项转换为小写。它不会进行标点符号和停用词的过滤。whitespace 分词器 whitespace 分词器会根据空格字符将文本拆分为词项。它不会进行小写转换、标点符号过滤和停用词过滤。keyword 分词器 keyword 分词器不会对文本进行拆分将整个文本作为一个词项。它通常用于不需要进行分词的字段如关键字字段或精确匹配字段。pattern 分词器 pattern 分词器根据正则表达式模式将文本拆分为词项。你可以指定自定义的正则表达式模式来满足特定的分词需求。stop 分词器 stop 分析器 和 simple 分析器很像唯⼀不同的是stop 分析器增加了对删除停⽌词的⽀ 持默认使⽤了english停⽌词stopwords 预定义的停⽌词列表⽐如 (the,a,an,this,of,at)等等。language 分词器 Elasticsearch 还提供了多个针对特定语言的分词器如 english、chinese、french 等。这些分词器会根据特定的语言规则和特征进行分词处理以提供更准确的分词效果。
3测试分词器
这里是一个简单的示例演示如何使用内置的 standard 分词器测试文本的分词效果
POST _analyze
{analyzer: standard,text: Hello world, this is Elasticsearch
}以上操作会将文本 “Hello world, this is Elasticsearch” 使用 standard 分词器进行分析并返回分词结果。
4选择分词器
创建索引时选择分词器方法 在创建索引时可以通过指定字段的映射来指定分词器。下面是创建索引并指定字段分词器的示例
PUT /my_index
{settings: {analysis: {analyzer: {my_analyzer: {type: whitespace,}},}},mappings: {properties: {name: {type: text,analyzer: my_analyzer}}}
}更换索引字段分词器方法 要更换字段的分词器需要重新定义字段的映射并指定新的分词器。下面是更换字段分词器的一般步骤 1.关闭索引
POST /索引名/_close2.更新字段映射
PUT /索引名/_mapping
{properties: {字段名: {type: text,analyzer: 新的分词器}}
}3.打开索引
POST /索引名/_open5中文分词器
使用中文分词器的主要目的是对中文文本进行正确、准确的分词处理。中文与英文等拉丁语系的语言不同它没有明确的词语分隔符如空格因此直接对中文进行全文匹配会导致词语的混淆和错误。
当涉及到中文分词器时两个常用的选择是 Smart Chinese Analyzersmartcn和 IK Analyzer。
Smart Chinese Analyzersmartcn Smart Chinese Analyzer 是 Elasticsearch 内置的中文分词器它使用机器学习算法进行分词并且适用于简体中文和繁体中文。 Smart Chinese Analyzer 的优点是易于使用无需额外配置即可使用。它具有较高的分词准确性和召回率适用于大多数中文文本的索引和搜索。
安装
sh elasticsearch-plugin install analysis-smartcn安装后重新启动ES
在创建索引时可以将字段的分词器指定为 “smartcn”。
PUT /索引名
{settings: {analysis: {analyzer: {my_analyzer: {type: smartcn}}}},mappings: {properties: {字段名: {type: text,analyzer: my_analyzer}}}
}卸载 sh elasticsearch-plugin remove analysis-smartcnIK Analyzer
IK Analyzer 是一个第三方的中文分词器它基于开源项目 IK Analysis 进行开发。IK Analyzer 提供了细粒度的中文分词能力支持词库扩展和自定义词典。 IK Analyzer 的优点是可以根据具体需求进行配置和定制支持停用词过滤、同义词扩展等功能。它适用于对中文文本的更精确分词和分析需求。 在创建索引时可以将字段的分词器指定为 “ik_max_word” 或 “ik_smart”。“ik_max_word” 会尽可能多地进行分词而 “ik_smart” 则会更加智能地进行分词。
下载 https://github.com/medcl/elasticsearch-analysis-ik/releases
安装 解压安装到plugins⽬录
安装后重新启动
示例
PUT /索引名
{settings: {analysis: {analyzer: {my_analyzer: {type: custom,tokenizer: ik_max_word}}}},mappings: {properties: {字段名: {type: text,analyzer: my_analyzer}}}
}