【全文搜索引擎】Elasticsearch之分词器
分词器
- 分词器(Analyzer):将一段文本,按照一定逻辑,分析成多个词语的一种工具
- 如:华为手机 — > 华为、手、手机
- ElasticSearch 内置分词器
- Standard Analyzer - 默认分词器,按词切分,小写处理
- Simple Analyzer - 按照非字母切分(符号被过滤), 小写处理
- Stop Analyzer - 小写处理,停用词过滤(the,a,is)
- Whitespace Analyzer - 按照空格切分,不转小写
- Keyword Analyzer - 不分词,直接将输入当作输出
- Patter Analyzer - 正则表达式,默认\W+(非字符分割)
- Language - 提供了30多种常见语言的分词器
- ElasticSearch 内置分词器对中文很不友好,处理方式为: 一个字一个词
IK分词器
- IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包
- 是一个基于Maven构建的项目
- 具有60万字/秒的高速处理能力
- 支持用户词典扩展定义
- 下载地址: https://github.com/medcl/elasticsearch-analysis-ik/archive/v7.4.0.zip
使用IK分词器
IK分词器有两种分词模式:ik_max_word和ik_smart模式。
ik_max_word
会将文本做最细粒度的拆分,比如会将“乒乓球明年总冠军”拆分为“乒乓球、乒乓、球、明年、总冠军、冠军。
#方式一ik_max_wordGET /_analyze{"analyzer": "ik_max_word","text": "乒乓球明年总冠军"}
ik_max_word分词器执行如下:
{"tokens" : [{"token" : "乒乓球","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 0},{"token" : "乒乓","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 1},{"token" : "球","start_offset" : 2,"end_offset" : 3,"type" : "CN_CHAR","position" : 2},{"token" : "明年","start_offset" : 3,"end_offset" : 5,"type" : "CN_WORD","position" : 3},{"token" : "总冠军","start_offset" : 5,"end_offset" : 8,"type" : "CN_WORD","position" : 4},{"token" : "冠军","start_offset" : 6,"end_offset" : 8,"type" : "CN_WORD","position" : 5}]}
ik_smart
会做最粗粒度的拆分,比如会将“乒乓球明年总冠军”拆分为乒乓球、明年、总冠军。
#方式二ik_smartGET /_analyze{"analyzer": "ik_smart","text": "乒乓球明年总冠军"}
ik_smart分词器执行如下:
{"tokens" : [{"token" : "乒乓球","start_offset" : 0,"end_offset" : 3,"type" : "CN_WORD","position" : 0},{"token" : "明年","start_offset" : 3,"end_offset" : 5,"type" : "CN_WORD","position" : 1},{"token" : "总冠军","start_offset" : 5,"end_offset" : 8,"type" : "CN_WORD","position" : 2}]}
【全文搜索引擎】Elasticsearch之分词器相关推荐
- Elasticsearch 默认分词器和中分分词器之间的比较及使用方法
首发地址:http://www.54tianzhisheng.cn/2017/09/07/Elasticsearch-analyzers/ 介绍:ElasticSearch 是一个基于 Lucene ...
- 全文搜索引擎Elasticsearch,这篇文章给讲透了!(Elasticsearch技术原理及实现方式)
关于Elasticsearch的技术原理及实现方式看了两篇讲的非常好的文章,在这里分享给大家. 其中一篇是: Elasticsearch 技术分析(九):全文搜索引擎Elasticsearch,这篇文 ...
- Elasticsearch 系列文章(一):Elasticsearch 默认分词器和中分分词器之间的比较及使用方法
介绍:ElasticSearch 是一个基于 Lucene 的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口.Elasticsearch 是用 Java 开 ...
- 全文搜索引擎----ElasticSearch和Solr
全文搜索引擎 ElasticSearch 还是 Solr? 最近项目组安排了一个任务,项目中用到了全文搜索,基于全文搜索 Solr,但是该 Solr 搜索云项目不稳定,经常查询不出来数据,需要手动全量 ...
- Elasticsearch之分词器查询分词效果
0.引言 Elasticsearch之分词器中文的我们一般使用IK,如果没有指定分词器.默认使用的是standard分词. IK分词能将中文分成词组: standard分词则会将每个中文分成一个单个的 ...
- Elasticsearch之分词器的工作流程
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch的分词器的一般工作流程: 1.切分关键词 2.去除停用词 3.对于英文单词,把所有字母转为小写(搜索时不区分 ...
- ElasticSearch IK 分词器快速上手
简介: ElasticSearch IK 分词器快速上手 一.安装 IK 分词器 1.分配伪终端 我的 ElasticSearch 是使用 Docker 安装的,所以先给容器分配一个伪终端.之后就可以 ...
- 【Es】ElasticSearch 自定义分词器
1.分词器 转载:https://blog.csdn.net/gwd1154978352/article/details/83343933 分词器首先看文章:[Elasticsearch]Elasti ...
- 全文搜索引擎 Elasticsearch 入门概念
基本概念 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例. 单个 Elastic 实例称为一个节点(nod ...
- ElasticSearch——IK分词器的下载及使用
ElasticSearch--IK分词器的下载及使用 1.什么是IK分词器 ElasticSearch 几种常用分词器如下: 分词器 分词方式 StandardAnalyzer 单字分词 CJKAna ...
最新文章
- SQL Server 2005 Express附加(Attach)的数据库为“只读”的解决方法
- 21、Java并发性和多线程-Java中的锁
- CF682C Alyona and the Tree
- 征稿 | ​2020年全国知识图谱与语义计算大会
- 6000字讲透!特适合产品新人的成长指南(附成长路径图)
- QGroundControl源码编译安装
- 使用C#读写ini配置文件
- Qt打包发布程序,打包安装程序和打包为单个exe可执行程序,图文教程
- linux 多块网卡 bridge,理解linux虚拟网络设备bridge
- C++静态库与动态库的区别
- 皮尔森残差_用SPSS进行列联表分析(Crosstabs)实例
- 稳定性测试怎么测_药物稳定性试验的细枝末节该如何处理?
- nginx配置反向代理和负载均衡完结篇
- unity 之 Particle 二
- 江南大学计算机阶段测试题,江南大学2016.09计算机应用基础(专科类)第2阶段测试题...
- 当我们谈论基因,我们在谈论什么
- 数字工厂生产监控可视化决策平台,打造智能制造新时代
- [书籍翻译]12周撰写期刊文章 学术出版成功指南——第 2 周:开始您的文章
- android camera viewport rect,如何判断元素是否在可视区域ViewPort
- OV7725引脚配置