全文检索服务 ElasticSearch---------IK分词器的使用
全文检索服务 ElasticSearch其他相关:
介绍入门及安装
Field
整合Spring Boot
集群管理
1.IK分词器
1.1测试分词器
在添加文档时会进行分词,索引中存放的就是一个一个的词(term),当你去搜索时就是拿关键字去匹配词,最终找到词关联的文档。
测试当前索引库使用的分词器:
POST /_analyze
{"text":"测试分词器,后边是测试内容:spring cloud实战"
}
结果如下:
会发现分词的效果将“测试”这个词拆分成两个单字“测”和“试”,这是因为当前索引库使用的分词器对中文就是单字分词。
1.2.中文分词器
1.2.1.Lucene自带中文分词器
StandardAnalyzer:
单字分词:就是按照中文一个字一个字地进行分词。如:“我爱中国”,
效果:“我”、“爱”、“中”、“国”。
CJKAnalyzer
二分法分词:按两个字进行切分。如:“我是中国人”,效果:“我是”、“是中”、“中国”“国人”。
上边两个分词器无法满足需求。
SmartChineseAnalyzer
对中文支持较好,但扩展性差,扩展词库和禁用词库等不好处理
1.2.2.第三方中文分析器
paoding: 庖丁解牛最新版在 https://code.google.com/p/paoding/ 中最多支持Lucene 3.0,且最新提交的代码在 2008-06-03,在svn中最新也是2010年提交,已经过时,不予考虑。
IK-analyzer:最新版在https://code.google.com/p/ik-analyzer/上,支持Lucene 4.10从2006年12月推出1.0版开始, IKAnalyzer已经推出了4个大版本。最初,它是以开源项目Luence为应用主体的,结合词典分词和文法分析算法的中文分词组件。从3.0版本开 始,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词 歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。 但是也就是2012年12月后没有在更新。
1.3.安装IK分词器
使用IK分词器可以实现对中文分词的效果。
下载IK分词器:(Github地址:https://github.com/medcl/elasticsearch-analysis-ik)
1、下载zip:
2、解压,并将解压的文件拷贝到ES安装目录的plugins下的ik(重命名)目录下,重启es
3、测试分词效果:
POST /_analyze
{"text":"中华人民共和国人民大会堂","analyzer":"ik_smart"
}
1.4.两种分词模式
ik分词器有两种分词模式:ik_max_word和ik_smart模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民大会堂、人民、共和国、大会堂、大会、会堂等词语。
2、ik_smart
会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。
1.5.自定义词库
如果要让分词器支持一些专有词语,可以自定义词库。
iK分词器自带的main.dic的文件为扩展词典,stopword.dic为停用词典。
也可以上边的目录中新建一个my.dic文件(注意文件格式为utf-8(不要选择utf-8 BOM))
可以在其中自定义词汇:
比如定义:
配置文件中 配置my.dic,
全文检索服务 ElasticSearch---------Field
全文检索服务 ElasticSearch---------IK分词器的使用相关推荐
- ElasticSearch IK 分词器快速上手
简介: ElasticSearch IK 分词器快速上手 一.安装 IK 分词器 1.分配伪终端 我的 ElasticSearch 是使用 Docker 安装的,所以先给容器分配一个伪终端.之后就可以 ...
- ElasticSearch——IK分词器的下载及使用
ElasticSearch--IK分词器的下载及使用 1.什么是IK分词器 ElasticSearch 几种常用分词器如下: 分词器 分词方式 StandardAnalyzer 单字分词 CJKAna ...
- 狂神聊 ElasticSearch(IK分词器+Rest+集成SpringBoot+实战爬虫项目+完整代码及资料)
Bilibili 搜索关注:狂神说 Java(和狂神一起学习,共同进步) 公众号:狂神说(文章日更) 狂神聊 ElasticSearch 版本:ElasticSearch 7.6.1(全网最新了) 6 ...
- ElasticSearch IK分词器安装
2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch 默认是带分词器了,对英文是按固定的英文的空格,或者"-"进行分词,但是对中文分 ...
- elastic ik分词搜索_php环境下使用elasticSearch+ik分词器进行全文搜索
php中文网最新课程 每日17点准时技术干货分享 首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java ...
- ik分词器 mysql php_php环境下使用elasticSearch+ik分词器进行全文搜索
首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java win-64bit的安装包需要去java英文官网 ...
- elasticsearch IK分词器的安装、使用与扩展
ES 的默认分词器(standard)不支持中文分词,满足不了平时的需求,所以需要用能够支持中文分词的 IK 分词器.而且 IK 分词器也是支持英文分词的. 本文介绍下IK分词器的安装.基本使用方法: ...
- ElasticSearch ik分词器从MySQL里面获取分词信息
出自 中华石杉 老师的一个课程, 缘由 每次都是在es的扩展词典中,手动添加新词语,很坑 (1)每次添加完,都要重启es才能生效,非常麻烦 (2)ElasticSearch是分布式的,可能有数百个节点 ...
- ElasticSearch ik分词器基础知识analyzer
概述 有两种analyzer,你根据自己的需要自己选吧,但是一般是选用ik_max_word 如果是ik_max_word的话: 会将文本做最细粒度的拆分,比如会将"中华人民共和国国歌&qu ...
- Elasticsearch IK分词器
1.下载对应版本的插件https://github.com/medcl/elasticsearch-analysis-ik/releases 2.将ik压缩包解压在plugins/ik目录 应用 1. ...
最新文章
- java汉字转换成拼音_Java代码将汉字转换成拼音
- linux shell let命令,shell编程中的let与(())
- vuex是什么?怎么用,例子
- 线性时间复杂度求数组中第K大数
- wireshark抓包分析tcp连接与断开
- leetcode40. 组合总和 II(回溯)
- Java文件操作增强工具
- “sudo: apt-get:找不到命令”的解决方法
- Linux CentOS完全卸载PHP
- CPU 是如何工作的?
- python编程入门第3版pdf-Python编程入门第三版
- html5用户输入后自动显示用户名已重复_IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素...
- android x5内核 下载地址,在Android项目中集成腾讯X5内核
- 可靠性五性分析标准和国军标参考(文件分享)
- BeanShell用法笔记
- 那个 php5 集成包,品络php5环境集成安装包_品络php5环境集成安装包官方版下载 - 服务器区 - 绿软家园...
- vagrant设置磁盘大小
- Java学习笔记(六):Java泛型
- css盒模型(标准模式和怪异模式)
- B860AV3.1-M2_刷机固件
热门文章
- 基于Python医学院校二手书管理毕业设计-附源码201704
- 汇编语言使用宏,实现两个字节压缩BCD数相加
- “炁”、“气”、“氣”
- python实现微信机器人群发软件_Python自制微信机器人:群发消息、自动接收好友!...
- 如何使用hbuilder快速生成一个直接打开网站的app
- echarts仪表盘
- python全栈指的是什么_python全栈指的是什么
- 征信 - 信用的价值
- Cadence Virtuoso IC617练习一反相器
- 分享Silverlight/Windows8/WPF/WP7/HTML5一周学习导读(5月14日-5月20日)