全文检索服务 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分词器的使用相关推荐

  1. ElasticSearch IK 分词器快速上手

    简介: ElasticSearch IK 分词器快速上手 一.安装 IK 分词器 1.分配伪终端 我的 ElasticSearch 是使用 Docker 安装的,所以先给容器分配一个伪终端.之后就可以 ...

  2. ElasticSearch——IK分词器的下载及使用

    ElasticSearch--IK分词器的下载及使用 1.什么是IK分词器 ElasticSearch 几种常用分词器如下: 分词器 分词方式 StandardAnalyzer 单字分词 CJKAna ...

  3. 狂神聊 ElasticSearch(IK分词器+Rest+集成SpringBoot+实战爬虫项目+完整代码及资料)

    Bilibili 搜索关注:狂神说 Java(和狂神一起学习,共同进步) 公众号:狂神说(文章日更) 狂神聊 ElasticSearch 版本:ElasticSearch 7.6.1(全网最新了) 6 ...

  4. ElasticSearch IK分词器安装

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch 默认是带分词器了,对英文是按固定的英文的空格,或者"-"进行分词,但是对中文分 ...

  5. elastic ik分词搜索_php环境下使用elasticSearch+ik分词器进行全文搜索

    php中文网最新课程 每日17点准时技术干货分享 首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java ...

  6. ik分词器 mysql php_php环境下使用elasticSearch+ik分词器进行全文搜索

    首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持. 安装java win-64bit的安装包需要去java英文官网 ...

  7. elasticsearch IK分词器的安装、使用与扩展

    ES 的默认分词器(standard)不支持中文分词,满足不了平时的需求,所以需要用能够支持中文分词的 IK 分词器.而且 IK 分词器也是支持英文分词的. 本文介绍下IK分词器的安装.基本使用方法: ...

  8. ElasticSearch ik分词器从MySQL里面获取分词信息

    出自 中华石杉 老师的一个课程, 缘由 每次都是在es的扩展词典中,手动添加新词语,很坑 (1)每次添加完,都要重启es才能生效,非常麻烦 (2)ElasticSearch是分布式的,可能有数百个节点 ...

  9. ElasticSearch ik分词器基础知识analyzer

    概述 有两种analyzer,你根据自己的需要自己选吧,但是一般是选用ik_max_word 如果是ik_max_word的话: 会将文本做最细粒度的拆分,比如会将"中华人民共和国国歌&qu ...

  10. Elasticsearch IK分词器

    1.下载对应版本的插件https://github.com/medcl/elasticsearch-analysis-ik/releases 2.将ik压缩包解压在plugins/ik目录 应用 1. ...

最新文章

  1. java汉字转换成拼音_Java代码将汉字转换成拼音
  2. linux shell let命令,shell编程中的let与(())
  3. vuex是什么?怎么用,例子
  4. 线性时间复杂度求数组中第K大数
  5. wireshark抓包分析tcp连接与断开
  6. leetcode40. 组合总和 II(回溯)
  7. Java文件操作增强工具
  8. “sudo: apt-get:找不到命令”的解决方法
  9. Linux CentOS完全卸载PHP
  10. CPU 是如何工作的?
  11. python编程入门第3版pdf-Python编程入门第三版
  12. html5用户输入后自动显示用户名已重复_IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素...
  13. android x5内核 下载地址,在Android项目中集成腾讯X5内核
  14. 可靠性五性分析标准和国军标参考(文件分享)
  15. BeanShell用法笔记
  16. 那个 php5 集成包,品络php5环境集成安装包_品络php5环境集成安装包官方版下载 - 服务器区 - 绿软家园...
  17. vagrant设置磁盘大小
  18. Java学习笔记(六):Java泛型
  19. css盒模型(标准模式和怪异模式)
  20. B860AV3.1-M2_刷机固件

热门文章

  1. 基于Python医学院校二手书管理毕业设计-附源码201704
  2. 汇编语言使用宏,实现两个字节压缩BCD数相加
  3. “炁”、“气”、“氣”
  4. python实现微信机器人群发软件_Python自制微信机器人:群发消息、自动接收好友!...
  5. 如何使用hbuilder快速生成一个直接打开网站的app
  6. echarts仪表盘
  7. python全栈指的是什么_python全栈指的是什么
  8. 征信 - 信用的价值
  9. Cadence Virtuoso IC617练习一反相器
  10. 分享Silverlight/Windows8/WPF/WP7/HTML5一周学习导读(5月14日-5月20日)