文章目录

  • 分词器以及ik中文分词器
    • 概念
    • ik分词器的安装
      • 环境准备
        • 设置jdk环境变量
        • 下载maven安装包并解压
        • 设置path
        • 验证maven是否安装成功
      • 下载IK分词器并安装
    • 使用IK分词器
    • 查询文档
      • term词条查询
      • match全文查询

分词器以及ik中文分词器

概念

ik分词器的安装

因为es自带的分词器对英文非常友好,但是对中文很不友好,所以我们需要安装一个ik分词器。

特点

​ IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包;

​ 是一个基于Maven构建的项目;

​ 具有60万字/秒的告诉处理能力;

​ 支持用户词典扩展定义;

环境准备

Elasticsearch需要使用ik,就要先构建ik的jar包,这里要用到maven包管理工具,而maven需要java环境,而Elasticsearch内置了jdk,所以可以将JAVA_HOME设置为Elasticsearch内置的jdk。

设置jdk环境变量

vim /etc/profile
#在文件末尾添加jdk的环境变量
export JAVA_HOME=/opt/elasticsearch-7.16.2/jdk
export PATH=$PATH:${JAVA_HOME}/bin#保存退出后,重新加载profile
source /etc/profile

下载maven安装包并解压

设置path

打开文件

vim /etc/profile.d/maven.sh

将下面的内容复制到文件,保存

export MAVEN_HOME=/opt/apache-maven-3.8.4
export PATH=${MAVEN_HOME}/bin:${PATH}

设置好Maven的路径之后,需要运行下面的命令使其生效

source /etc/profile.d/maven.sh

验证maven是否安装成功

mvn -v

下载IK分词器并安装

下载地址:https://github.com/medcl/elasticsearch-analysis-ik

然后把zip包安装到elasticsearch/plugins目录下新建的目录analysis-ik,并解压,如下图:

然后解压ik分词器,因为ik分词器是zip包,所以需要使用unzip命令解压,如下图:

解压之后需要把ik的config目录中的所有内容复制到elasticsearch-7.16.2的config配置文件中,如下图:

最后记得一定要重启Elasticsearch服务!!!

使用IK分词器

IK分词器有两种分词模式:ik_max_word和ik_smart模式。

1.ik_max_word

会将文本做最细颗粒度的拆分,如下图:

2.ik_smart

这个分词模式的颗粒度比较粗,如下图:

查询文档

词条查询:term

​ 词条查询不会分析查询条件,只有当词条和查询字符串完全匹配时才匹配搜索。

全文查询:match

​ 全文查询会分析查询条件,先将查询条件进行分词,然后查询,求并集。

term词条查询

term词条查询的例子如下图:

为什么什么结果都没有查出来呢?主要是因为ES默认使用的是standar分词器,会把中文一个字一个字的分,所以查不到,如果我们查询的是"北"就能成功查询出来数据了,如下图:

因此我们在创建索引的时候,就要手动的添加索引为ik分词器,要不然ES使用的一直是默认的standar分词器。

然后添加三条文档,如下图:

查询一下结果,如下图:

重新搜索“北京”关键词,如下图:

但是如果我现在搜索的词条是"北京昌平",因为我们的文档中没有address字段为"北京昌平"的分词,所以结果什么也查不到,如下图:

这就是term词条查询,它的搜索关键字会被当做一个整体,不会继续分词,然后拿这个整体去分词库中查询。但是下面的match全文查询不是这样的,它会先把搜索关键字分词,然后拿所有的分词结果去分词库中查询,最后再把查询结果拼接在一起。

match全文查询

上面是查询结果的并集,不是查询结果的交集。

分词器以及ik中文分词器相关推荐

  1. python连接es_Elasticsearch --- 3. ik中文分词器, python操作es

    一.IK中文分词器 1.下载安装 2.测试 #显示结果 {"tokens": [ {"token" : "上海","start_o ...

  2. Solr7.2.1环境搭建和配置ik中文分词器

    solr7.2.1环境搭建和配置ik中文分词器 安装环境:Jdk 1.8. windows 10 安装包准备: solr 各种版本集合下载:http://archive.apache.org/dist ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十九)ES6.2.2 安装Ik中文分词器

    注: elasticsearch 版本6.2.2 1)集群模式,则每个节点都需要安装ik分词,安装插件完毕后需要重启服务,创建mapping前如果有机器未安装分词,则可能该索引可能为RED,需要删除后 ...

  4. ES7 IK中文分词器

    IK中文分词器的安装 ES默认是没有IK中文分词器的,我们要将IK中文分词器作为一个插件安装到ES中,安装的步骤也很简单: 从GitHub上下载适合自己ES版本的IK中文分词器,地址如下:https: ...

  5. 学习 ES 的笔记、全文检索、倒排索引、Lucene、ik中文分词器、Kibana使用Dev Tools

    文章目录 感悟 新接触的单词 知识点一:ES是什么? 知识点二:ES基本概念 知识点三:1.1 什么是全文检索和Lucene? 知识点四:1.2 什么是倒排索引,Lucene实现全文检索的流程是怎样? ...

  6. 使用Docker快速安装部署ES和Kibana并配置IK中文分词器以及自定义分词拓展词库

    使用Docker快速安装部署ES和Kibana的前提:首先需要确保已经安装了Docker环境 如果没有安装Docker的话,可以参考上一篇的内容:Linux上安装Docker 有了Docker环境后, ...

  7. Elasticsearch:IK 中文分词器

    Elasticsearch 内置的分词器对中文不友好,只会一个字一个字的分,无法形成词语,比如: POST /_analyze {"text": "我爱北京天安门&quo ...

  8. 玩转ES,一文教你掌握IK中文分词器

    前言 ES默认的分词器对中文分词并不友好,所以我们一般会安装中文分词插件,以便能更好的支持中文分词检索. 而ES的中文分词器中,最流行的必然是IK分词器. 一.IK分词器介绍 IK分词器在是一款基于词 ...

  9. ElasticSearch的IK中文分词器

    目录 概述 一.安装下载 二.设置es使用ik分词器 三.效果对比 四.ik分词器自定义字典 五.ik分词器自定义字典的配置 概述 本文主要介绍了 ik 分词器在es中的一些配置以及原理,包括 下载安 ...

最新文章

  1. 微软私有云分享(R2)13 处理孤立资源
  2. 获取后台数据-Http
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1075:药房管理
  4. 增强现实和3D渲染技术是如何应用在SAP产品里的
  5. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波7 - 直方图处理 - 直方图、归一化直方图
  6. 织梦首页html在哪儿,dedecms织梦首页去index.html
  7. pat00-自测5. Shuffling Machine (20)
  8. Spring Boot 页面国际化
  9. [android] android 获取网络连接信息
  10. 【LeetCode】每日一题(十一)面试题46. 把数字翻译成字符串 动态规划+滚动数组优化 / 递归
  11. 如何实现从外部APP直接跳转微信小程序的解决方案
  12. 56个民族下拉选择框
  13. Python(数据类型思维导图)
  14. JavaScript插入DOM
  15. 【强化记忆】生物选修三填空题考点强化记忆2-胚胎工程、安全伦理问题、生态工程——2017年2月25日...
  16. renqun_youhua=2004892,竞价推广链接后缀标识都是什么含义?
  17. 使用HTML写一个个人简历
  18. AndroidStudio下载的项目不能运行(运行Run图标变灰色,类文件图标为红色J)
  19. Arduino 入门教程(十六) E18-D50NK红外避障传感器
  20. 分享:金融短信接口应用场景详解

热门文章

  1. GaussDB常用命令
  2. 联想开机启动项按哪个_联想重装系统按哪个键|联想电脑重装系统按什么键
  3. MySQL入门学习之——实战XtraBackup
  4. Java多线程学习——01
  5. python二级题库 第四套 附刷题软件
  6. cygwin完全安装步骤方法(组图)
  7. 【OneDrive篇】OneDrive禁用个人保管库(网页端)
  8. VUE实现DIV点击换色
  9. ogg mysql表结构不一致_求助:OGG双向同步,数据不一致如何解决?(已解决)
  10. 如何解决下载链接在微信中无法打开的问题的?