Elasticsearch-IK分词器

一、简介

因为Elasticsearch中默认的标准分词器(analyze)对中文分词不是很友好,会将中文词语拆分成一个一个中文的汉字,所以引入中文分词器-IK。

使用默认

二、安装IK分词器

1.先下载ik分词器

https://github.com/medcl/elasticsearch-analysis-ik/releases

注意 一定要下载和Elastic版本相同的IK分词器

2.我们将ik分词器上传到我们的es的plugins/ik目录下,ik文件夹需要我们自己创建

cd /usr/local/elasticsearch/plugins/ik/
unzip elasticsearch-analysis-ik-XX.zip # windos下安装也是一样的操作

3.重启

重启的时候在日志中就可以看到关于IK分词器已经被加载进去了

三、测试分词器

1.ik_smart

会做最粗粒度的拆分,比如会将“我是中国人”拆分为我、是、中国人。

POST _analyze
{
"analyzer": "ik_smart",
"text": "我是中国人"
}

2.ik_max_word

会将文本做最细粒度的拆分,比如会将“我是中国人”拆分为“我、是、中华、中国人、中国、国人

POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}

四、自定义词库

使用场景

在利用ik分词的过程中,当ik的分词规则不满足我们的需求了,这个时候就可以利用ik的自定义词库进行匹配,比如最火的常用的网络用语;我们输入乔碧罗殿下正常的情况下,是不会识别整个词语的,返回的都是分开的。我们识别整个词语就需要自定义词库

1、自定义词库方式一(新建dic文件)

(1)到elasticsearch/plugins中寻找ik插件所在的目录

(2)在ik中的config文件中添加词库

创建目录    mkdir ciku
创建文件 vim test.dic
#编辑test.dic 注意每个词语一行

(3)修改ik配置

vim /**/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

(4)重启ElasticSearch

2、通过Nginx配置自定义词库

(1)安装好nginx,到nginx的html目录下创建分词文件

vim fenci.txt
#每个词语一行

(2)修改ik配置

vim /**/elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml

(3)重启ElasticSearch

效果

我们输入乔碧罗殿下正常的情况下,是不会识别整个词语的,返回的都是分开的。当我们在词库文件中写上乔碧罗殿下就会返回下面的效果

Elasticsearch IK分词器的更多相关文章

  1. SpringBoot整合Elasticsearch+ik分词器+kibana

    话不多说直接开整 首先是版本对应,SpringBoot和ES之间的版本必须要按照官方给的对照表进行安装,最新版本对照表如下: (官网链接:https://docs.spring.io/spring-d ...

  2. 七、Elasticsearch+elasticsearch-head的安装+Kibana环境搭建+ik分词器安装

    一.安装JDK1.8 二.安装ES 三个节点:master.slave01.slave02 1.这里下载的是elasticsearch-6.3.1.rpm版本包 https://www.elastic ...

  3. IK 分词器

    目录 IK 分词器-介绍 IK 分词器-安装 环境准备:Maven 安装 IK 分词器 IK 分词器-使用 IK 分词器-介绍 现有问题:ES 默认对中文分词并不友好,实际上是把中文进行了每个字的分词 ...

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

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

  5. docker上安装elasticsearch和ik分词器插件和header,实现分词功能

    docker run -di --name=tensquare_es -p 9200: -p 9300:9300 elasticsearch:5.6.8 创建elasticsearch容器(如果版本不 ...

  6. Elasticsearch下安装ik分词器

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

  7. elasticsearch安装ik分词器(极速版)

    简介:下面讲有我已经打包并且编辑过的zip包,你可以在下面下载即可. 1.下载zip包.elasticsearch-analysis-ik-1.8.0.jar下面有附件链接[ik-安装包.zip],下 ...

  8. 【ELK】【docker】【elasticsearch】2.使用elasticSearch+kibana+logstash+ik分词器+pinyin分词器+繁简体转化分词器 6.5.4 启动 ELK+logstash概念描述

    官网地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-cli-run-prod ...

  9. ElasticSearch(六):IK分词器的安装与使用IK分词器创建索引

    之前我们创建索引,查询数据,都是使用的默认的分词器,分词效果不太理想,会把text的字段分成一个一个汉字,然后搜索的时候也会把搜索的句子进行分词,所以这里就需要更加智能的分词器IK分词器了. 1. i ...

随机推荐

  1. Pandas高级教程之:GroupBy用法

    Pandas高级教程之:GroupBy用法 目录 简介 分割数据 多index get_group dropna groups属性 index的层级 group的遍历 聚合操作 通用聚合方法 同时使用 ...

  2. Nexus3配置yum私服

    传送门==>>Nexus私服搭建教程 yum私服的优点: >节省公网带宽 >离线安装等 1. 创建Blob Stores 2. 创建仓库 2.1 创建yum代理(aliyun样 ...

  3. SpringBoot:Sqlite3+SpringBoot2.1.3+Mybatis-Puls整合项目

    应公司要求完成sqlite3数据库的增改查小功能,特此记录一下. 1.建造项目 结构如下 因为是提供给前端调用所以做了接口. 2.Pom依赖文件 下面是这个项目所依赖的jar包. <parent ...

  4. Linux:CentOS-7配置VMware-15.5与本机IP同网段

    确认本机IP ctrl+R:输入cmd 回车 输入命令:ipconfig  可以看出一下信息:本机ip: 192.168.1.162网关:192.168.1.1DNS服务器:192.168.1.1 设 ...

  5. redis学习笔记(一)——windows下redis的安装与配置

    前言 很久没有写东西了(.......我的水平就是记个笔记),北漂实习的我,每天晚上回来都不想动,但是做为社会主义接班人的我,还是要时刻给自己充充电,趁着年轻,趁着日渐脱发的脑袋还没有成为" ...

  6. Java 设置PDF跨页表格重复显示表头行

    在创建表格时,如果表格内容出现跨页显示的时候,默认情况下该表格的表头不会在下一页显示,在阅读体验上不是很好.下面分享一个方法如何在表格跨页是显示表格的表头内容,这里只需要简单使用方法 grid.set ...

  7. 【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)

    前言 人心中的成见是一座大山,任你怎么努力都休想搬动. 这是电影<哪吒>里申公豹说的一句话,也是贯彻整部电影的一个主题:或许这句话引起了太多人的共鸣:35岁职场危机,大厂卡本科学历,无房无 ...

  8. C语言:最小公倍数

    //求最小公倍数 #include <stdio.h> main() { int m,n,i,k,max,min; scanf("%d,%d",&m,& ...

  9. vue如何动态加载本地图片

    大家好,我是前端队长Daotin,想要获取更多前端精彩内容,关注我(全网同名),解锁前端成长新姿势. 以下正文: 今天遇到一个在vue文件中引入本地图片的问题,于是有了这篇文章. 通常,我们的一个im ...

  10. 二进制方式安装 k8s

    推荐个好用的安装k8s的工具 https://github.com/easzlab/kubeasz 该工具基于二进制方式部署 k8s, 利用 ansible-playbook 实现自动化    1.1 ...