我们在搜索的时候,都会对数据进行分词,英文的分词很简单,我们可以直接按照空格进行切分即可,

但是中文的分词太过复杂,例如:夏天太热,能穿多少穿多少,冬天太冷,能穿多少穿多少。

下雨地滑,还好我一把把车把把住了,才没有摔倒。人要是行,干一行行一行,一行行行行行等等的分词都是非常麻烦的,所以针对中文的分词,专门出了一个叫做IK的分词器来解决对中文的分词问题。

安装

每台机器都要配置。配置完成之后,需要重启ES服务

将安装包上传到node01机器的/home/es路径下

cd /home/es

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.0/elasticsearch-analysis-ik-6.7.0.zip

# ik分词器的插件,上传到/home/es目录下

cd /home/es

mkdir  /export/servers/es/elasticsearch-6.7.0/plugins/analysis-ik/

unzip elasticsearch-analysis-ik-6.0.0.zip -d /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/

将安装包分发到其他机器上

node01机器执行以下命令进行安装包的分发

cd /export/servers/es/elasticsearch-6.0.0/plugins

scp -r analysis-ik/ node02:$PWD

scp -r analysis-ik/ node03:$PWD

# 三台机器都配置完成
# 配置完成之后,需要重启ES服务。

三台机器重启es服务

三台机器执行以下命令停止es服务

ps -ef|grep elasticsearch|grep bootstravelap |awk '{print $2}' |xargs kill -9

nohup /export/servers/es/elasticsearch-6.0.0/bin/elasticsearch >/dev/null 2>&1 &

配置

delete iktest
PUT /iktest?pretty
{
    "settings" : {
        "analysis" : {
            "analyzer" : {
                "ik" : {
                    "tokenizer" : "ik_max_word"
                }
            }
        }
    },
    "mappings" : {
        "article" : {
            "dynamic" : true,
            "properties" : {
                "subject" : {
                    "type" : "text",
                    "analyzer" : "ik_max_word"
                }
            }
        }
    }
}

说明:ik带有两个分词器:

  • ikmaxword :会将文本做最细粒度的拆分;尽可能多的拆分出词语
  • 我|爱|我的|祖|国|祖国
  • ik_smart:会做最粗粒度的拆分;已被分出的词语将不会再次被其它词语占有
  • 我|爱|我|的|祖国

查看分词效果

  GET _analyze?pretty
  {
    "analyzer": "ik_max_word",
    "text": "希拉里是个妹子"
  }

插入测试数据

POST /iktest/article/_bulk?pretty
{ "index" : { "_id" : "1" } }
{"subject" : ""闺蜜"崔顺实被韩检方传唤 韩总统府促彻查真相" }
{ "index" : { "_id" : "2" } }
{"subject" : "韩举行"护国训练" 青瓦台:决不许国家安全出问题" }
{ "index" : { "_id" : "3" } }
{"subject" : "媒体称FBI已经取得搜查令 检视希拉里电邮" }
{ "index" : { "_id" : "4" } }
{"subject" : "村上春树获安徒生奖 演讲中谈及欧洲排外问题" }
{ "index" : { "_id" : "5" } }
{"subject" : "希拉里团队炮轰FBI 参院民主党领袖批其违法”" }

查看分词器

对"希拉里和韩国"进行分词查询

ikmaxword分词后的效果:希|拉|里|希拉里|和|韩国

POST /iktest/article/_search?pretty
{
    "query" : { "match" : { "subject" : "希拉里和韩国" }},
    "highlight" : {
        "pre_tags" : ["<font color=red>"],
        "post_tags" : ["</font>"],
        "fields" : {
            "subject" : {}
        }
    }
}

、热词更新

查看分词效果

GET _analyze?pretty

{

"analyzer": "ik_max_word",

"text": "吴邪在哪里"

}

使用es用户来进行配置tomcat,此处我们将tomcat装在node03机器上面即可

cd /home/es

tar -zxvf apache-tomcat-8.5.34.tar.gz -C /export/servers/es/

tomcat当中添加配置hot.dic

cd /export/servers/es/apache-tomcat-8.5.34/webapps/ROOT/

vi hot.dic

传智播客

# 启动tomcat

/export/servers/es/apache-tomcat-8.5.34/bin/startup.sh

浏览器访问

wget http://node03:8080/hot.dic

三台机器修改配置文件

三台机器都要修改es的配置文件(使用es用户来进行修改即可)

第一台机器node01修改es的配置

cd /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/config

vim IKAnalyzer.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

<properties>

        <comment>IK Analyzer 扩展配置</comment>

<!--用户可以在这里配置自己的扩展字典 -->

<entry key="ext_dict"></entry>

<!--用户可以在这里配置自己的扩展停止词字典-->

<entry key="ext_stopwords"></entry>

<!--用户可以在这里配置远程扩展字典 -->

<entry key="remote_ext_dict">http://node03:8080/hot.dic</entry>

<!--用户可以在这里配置远程扩展停止词字典-->

<!-- <entry key="remote_ext_stopwords">words_location</entry> -->

</properties>

修改完成之后拷贝到node02node03机器上面去

node01执行以下命令进行拷贝

cd /export/servers/es/elasticsearch-6.0.0/plugins/analysis-ik/config

sudo scp IKAnalyzer.cfg.xml  node02:$PWD

sudo scp IKAnalyzer.cfg.xml  node03:$PWD

三台机器修改JDK权限

三台机器修改jdk的权限问题

第一台机器执行以下命令修改jdk的权限问题

#修改JDK安全设置
cd /export/servers/jdk1.8.0_141/jre/lib/security

sudo vim java.policy

添加以下四行配置

 permission java.net.SocketPermission "192.168.52.120:8080","accept";
 permission java.net.SocketPermission "192.168.52.120:8080","listen";
 permission java.net.SocketPermission "192.168.52.120:8080","resolve";
 permission java.net.SocketPermission "192.168.52.120:8080","connect";

修改完成之后拷贝到第二台和第三台机器

node01执行以下命令拷贝到第二台和第三台

cd /export/servers/jdk1.8.0_141/jre/lib/security

sudo scp java.policy  node02:$PWD

sudo scp java.policy  node03:$PWD

http://mahilion.blog.163.com/blog/static/1830872952012101225243655/

三台机器重新启动es

三台机器重新启动es服务,三台机器先使用kill -9杀死es的服务,然后再执行以下命令进行重启

cd /export/servers/es/elasticsearch-6.0.0/

nohup bin/elasticsearch >/dev/null 2>&1 &

查看我们的分词过程

GET _analyze?pretty

{

"analyzer": "ik_max_word",

"text": "吴邪在哪里"

}

ELK安装IK分词器相关推荐

  1. 2021年大数据ELK(八):Elasticsearch安装IK分词器插件

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 安装IK分词器 一.下载Elasticsearch IK分词器 ...

  2. 【javaWeb微服务架构项目——乐优商城day07】——Elasticsearch介绍和安装及使用(安装kibana,安装ik分词器,Spring Data Elasticsearch,高级查询)

    文章目录 0.学习目标 1.Elasticsearch介绍和安装 1.1.简介 1.1.1.Elastic 1.1.2.Elasticsearch 1.1.3.版本 1.2.安装和配置 1.2.1.新 ...

  3. elasticsearch安装ik分词器

    elasticsearch安装ik分词器 1. 修改docker-compose.yml文件,对es目录下的plugins文件夹进行文件映射 version: "2.2" volu ...

  4. Elasticsearch安装IK分词器,kibana安装是基本使用,DSL语句入门

    文章目录 1. 安装IK分词器 2. Kibana安装和使用 2.1 ELK概述 2.2 Kibana下载 2.3 DSL语句 1. 安装IK分词器 ElasticSearch 默认采用的分词器, 是 ...

  5. Elasticsearch入门之从零开始安装ik分词器

    起因 需要在ES中使用聚合进行统计分析,但是聚合字段值为中文,ES的默认分词器对于中文支持非常不友好:会把完整的中文词语拆分为一系列独立的汉字进行聚合,显然这并不是我的初衷.我们来看个实例: POST ...

  6. Elasticsearch下安装ik分词器

    安装ik分词器(必须安装maven) 上传相应jar包 解压到相应目录 unzip elasticsearch-analysis-ik-master.zip(zip包) cp -r elasticse ...

  7. Elasticsearch中安装IK分词器

    Elasticsearch中默认的分词器对中文的支持不好,会分隔成一个一个的汉字.而IK分词器对中文的支持比较好一些,主要有两种模式"ik_smart"和"ik_max_ ...

  8. Linux下安装ik分词器

    Linux下安装ik分词器 首先下载ik分词器 下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases 一定要点进来 下载z ...

  9. 分布式系列教程(34) -Linux下安装ik分词器

    1.引言 因为Elasticsearch中默认的标准分词器分词器对中文分词不是很友好,会将中文词语拆分成一个一个中文的汉字,因此引入中文分词器-es-ik插件. 例如使用传统的分词器,可以看到把中文分 ...

最新文章

  1. 爬虫之Xpath详解
  2. 常见的网络***有哪些?
  3. 让Exchange 2010 (2007适用)可以收发外部邮件
  4. list中存储map的情况下,遍历list
  5. 启明云端分享|ESP32-­C3­-MINI­-1和ESP32­-C3-­MINI-­1U的区别是什么?
  6. 【centos7】添加开机启动服务/脚本
  7. Guice使用入门以及整合Redis
  8. 线性序列机与串口接口DAC驱动设计与验证
  9. 2017年07月03号课堂笔记
  10. linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)
  11. VC++多线程工作笔记0004---线程相关操作
  12. Dijkstra算法图文详解和C++代码
  13. pxe安装系统 ip获取错误_聊聊PXE的那点东西
  14. Windows下 Nginx日志文件按计划时间自动分割、手动备份
  15. Hive Tuning(三) 从查询计划看hive.auto.convert.join的好处
  16. 数学建模方法——皮尔逊相关系数及其显著性检验 (Pearson correlation coefficient)
  17. OpenCV精进之路(十八):工具——“全能扫描王“扫描软件
  18. 页眉设置为章节名(WPS)
  19. 拆解洪恩教育2020年财报:Q4亏损扩大7倍,负债增至4亿元
  20. Linux at atq atrm

热门文章

  1. 在线免费SSL证书申请地址
  2. 你的机器人安全吗之SROS介绍
  3. 手游方舟找不到之前的服务器,方舟怎么找到原先玩的服务器 | 手游网游页游攻略大全...
  4. YOLO系列改进论文阅读
  5. 一文搞懂时间序列预测模型(2):ARIMA模型的理论与实践
  6. Linux下重启网卡失败
  7. 中美5G合作又遇阻,英特尔和紫光展锐合作终止
  8. 美团面试惨败!强迫症的我恶补知识,总结面试经验和学习笔记,下次再战!!
  9. 同城APP UI 设计文档
  10. css3 左右晃动效果