目录

1、环境配置(安装maven编译ik)

2、下载IK中文分词插件

3、测试是否生效

4、热更新ik词库


背景:
如果直接使用Elasticsearch默认分词器处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果每一个汉字都被分成了一组。因此引入es之中文的分词器插件es-ik就能解决这个问题。

测试默认的分词对中文的支持 
curl -H "Content-Type: application/json" -XGET 'http://master:9200/_analyze?pretty=true' -d '{"text":"我们是中国人"}' 
结果是  我、们、是、中、国、人  不符合常规要求。

1、环境配置(安装maven编译ik)

[root@elk app]# tar zxvf apache-maven-3.3.9-bin.tar.gz 
[root@elk app]# ln -s apache-maven-3.3.9/ maven
[root@elk app]# vi /etc/profile
export MAVEN_HOME=/app/maven
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$MAVEN_HOME/bin:$PATH
[root@elk app]# source /etc/profile
修改maven配置settings.xml
http://my.repository.com/repo/path替换为阿里云url
http://maven.aliyun.com/nexus/content/repositories/central

2、下载IK中文分词插件

https://github.com/medcl/elasticsearch-analysis-ik
#比对配置文件与ik版本是否一致,请提前修改避免日后报错重新编译
[root@elk elasticsearch-analysis-ik-6.6.1]# vi pom.xml
<elasticsearch.version>6.6.1</elasticsearch.version>
#使用maven进行源码编译 
cd ik && mvn clean package  -DskipTests 
#将ik插件复制到es目录
[root@elk plugins]# cp /app/elasticsearch-analysis-ik-6.6.1/target/releases/elasticsearch-analysis-ik-6.5.0.zip /app/elasticsearch-6.6.1/plugins/ik/
[root@elk ik]# unzip elasticsearch-analysis-ik-6.5.0.zip 
重启es
[es@elk bin]$ ./elasticsearch

3、测试是否生效

[root@elk ik]# curl -H 'Content-Type:application/json' -XGET http://192.168.198.136:9200/_analyze?pretty  -d '{"analyzer": "ik_smart", "text": "我们是中国人"}' 
结果是  我们、是、中国人

4、热更新ik词库

如果ik插件默认没有我们需要的分词规则,如新出的流行词汇,需要自行添加,热更新可以添加后自动更新词库避免频繁重启es
#部署http服务,安装tomcat
[root@elk app]# ll | grep tomcat
drwxr-xr-x 9 root root 4096 8月  15 23:59 apache-tomcat-7.0.67
#切换到 /app/apache-tomcat-7.0.67/webapps/ROOT
新建热词文件 vi hot.dic 然并卵
#确定可以正常访问  
http://192.168.20.210:8080/hot.dic
#修改ES中ik插件的配置文件
vi /app/es/plugins/ik/config/IKAnalyzer.cfg.xml 
添加如下内容 
<entry key="remote_ext_dict">http://192.168.198.136:8080/hot.dic</entry> 
#重启es
bin/elasticsearch 
#以后需要添加新词语,直接添加到之前创建的/app/apache-tomcat-7.0.67/webapps/ROOT/hot.dic文件中
#此时,es会自动更新词典,日志如下:
[2019-08-16T00:55:23,553][INFO ][o.w.a.d.Monitor          ] [KZsaE_I] try load config from /app/elasticsearch-6.6.1/config/analysis-ik/IKAnalyzer.cfg.xml
[2019-08-16T00:55:23,553][INFO ][o.w.a.d.Monitor          ] [KZsaE_I] try load config from /app/elasticsearch-6.6.1/plugins/ik/config/IKAnalyzer.cfg.xml
[2019-08-16T00:55:23,695][INFO ][o.w.a.d.Monitor          ] [KZsaE_I] [Dict Loading] http://192.168.198.136:8080/hot.dic
[2019-08-16T00:55:23,709][INFO ][o.w.a.d.Monitor          ] [KZsaE_I] 然并卵
[2019-08-16T00:55:23,710][INFO ][o.w.a.d.Monitor          ] [KZsaE_I] 阿姆斯特朗炮
[2019-08-16T00:55:23,710][INFO ][o.w.a.d.Monitor          ] [KZsaE_I] 重新加载词典完毕...

ELK日志分析平台——es-ik中文分词器相关推荐

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

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

  2. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群 笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装 ...

  3. ELK 日志分析平台 —— Logstash

    ELK 日志分析平台 -- Logstash 文章目录 ELK 日志分析平台 -- Logstash Logstash 简介 Logstash的工作原理 [注]:Logstash file插件 sin ...

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

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

  5. 搭建ELK日志分析平台(下)—— 搭建kibana和logstash服务器

    27.6 安装kibana 27.7 安装logstash 27.8 配置logstash 27.9 kibana上查看日志 27.10 收集nginx日志 27.11 使用beats采集日志 本文是 ...

  6. 企业项目实战---ELK日志分析平台之logstash数据采集(二)

    ELK日志分析平台 logstash数据采集 1.logstash简介 2.Logstash安装 3.标准输入到标准输出 4.标准输入到文件 5.标准输入到es主机 6.指定文件输入到es主机 7.s ...

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

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

  8. ELK日志分析平台.1-搭建

    ELK日志分析平台.1-搭建 2017-12-28 | admin 一.简介 1.核心组成     ELK由Elasticsearch.Logstash和Kibana三部分组件组成:     Elas ...

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

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

  10. ELK日志分析平台-Elasticsearch搭建和异常处理

    一.介绍 1.1. ELK日志分析平台 (1)不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写. ELK分别代表: Elasticsearch:负责日志检索和储存 Logstash:负责日 ...

最新文章

  1. 计算机网络 网络设备命令 数据链路层解析
  2. phpmyadmin 无法载入 mysql 扩展_phpMyAdmin“无法载入mysql扩展,请检查PHP配置”解决方法...
  3. AngularJS(1)——入门学习
  4. CF1131 G. Most Dangerous Shark(DP+单调栈优化)
  5. 用vscode编写静态页面_开发中实用的VSCode插件推荐
  6. hdu2795 Billboard 线段树
  7. fatal: could not read Username for 'https://github.com': No such file or directory
  8. 微信WeixinJSBridge API 屏蔽右上角分享等常用方法
  9. pdflush进程详解
  10. Everyone Piano键盘钢琴软件
  11. shell脚本的逻辑判断
  12. 面试官问我 RabbitMQ 消息如何插队?
  13. 计算机文管二级试题,计算机文管二级试题
  14. css如何将彩色图片变为黑白图片
  15. 基于Java毕业设计智慧茶园综合管理系统源码+系统+mysql+lw文档+部署软件
  16. 氧化锌@聚丙烯腈(ZnO@PAN)静电纺丝纳米纤维膜材料|金属有机框架材料ZIF-8@聚丙烯腈(ZIF-8@PAN)纳米纤维膜材料
  17. 把表中名为'诺基亚xxxx'的商品,改为'HTCxxxx',
  18. 银行智能风险防控系统(第二版)
  19. Java咖啡价格问题_【转】咖啡—根据咖啡品种选购杯具
  20. 【Quartz】Quartz概述及入门实例

热门文章

  1. python单向循环链表
  2. 最好的笔记本散热器:袋装牛奶
  3. Interactron: Embodied Adaptive Object Detection
  4. js删除数组指定的某个元素
  5. IMU的FSYNC脚的使用说明
  6. 2022年9月1日.com域名价格调整通知
  7. Qt QAudioDeviceInfo 获取音频设备为空
  8. PHP phpqrcode生成带颜色二维码方法封装
  9. 基于OpenCV实现将视频转化为图片且可设定每秒转化帧数
  10. kill -9 进程号杀不死可以用下面的杀掉 Linux下强制杀死进程的方法详解