正因为Elasticsearch 内置的分词器对中文不友好,会把中文分成单个字来进行全文检索,所以我们需要借助中文分词插件来解决这个问题。

一、安装maven管理工具

Elasticsearch 要使用 ik,就要先构建 ik 的 jar包,这里要用到 maven 包管理工具,而 maven 依赖java 环境,上一篇文章已经确保安装了java环境

链接:https://pan.baidu.com/s/1MEOh28XoKjU_KMKj1ebJyQ 密码:edc9   //百度云apache-maven-3.3.9-bin.tar.gz 下载地址。大家也一定习惯把安装包下载到/usr/local/src目录下
#cd /usr/local/src/
#tar zxvf /usr/local/src/apache-maven-3.3.-bin.tar.gz
#cp -r /usr/local/src/apache-maven-3.3. /usr/local/maven3.3.9

添加 maven 环境变量

#vim /etc/profile  //添加下面三行代码到底部
MAVEN_HOME=/usr/local/maven3.3.9
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
#source /etc/profile //执行命令,使更改生效

查看是否配置安装成功

# mvn -v   //查看版本命令; 成功了~
Apache Maven 3.3. (bb52d8502b132ec0a5a3f4c09453c07478323dc5; --11T00::+:)
Maven home: /usr/local/maven3.3.9
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: /usr/local/jdk1..0_91/jre
Default locale: en_US, platform encoding: UTF-
OS name: "linux", version: "2.6.32-358.el6.x86_64", arch: "amd64", family: "unix"

二、下载安装IK包

必须对应好版本,在https://github.com/medcl/elasticsearch-analysis-ik/tree/v1.10.1有说明,因为我安装的是2.4.1版本的ES,那么参照官方的说明,IK的版本必须是1.10.1。

注意:因为本文章用的是1.10.1,小于5.5.1,不能使用官方给出的第二种方便的办法。如果您的版本高于5.5.1,那么推荐使用第二种~

我们继续...

wget https://github.com/medcl/elasticsearch-analysis-ik/archive/v1.10.1.zip   //wget地址;  注意:这里的下载版本可以自定义,前提是只要是官方有的版本,比如你要下载1.8.1,那么把后面的v1.10.1改为v1.8.1就可以了。本人测试过链接:https://pan.baidu.com/s/1yRTsyD8kDZWwwqCyTjY60w 密码:th8h //百度云下载地址
#cd /usr/local/src
#unzip -x elasticsearch-analysis-ik-1.10.1.zip
#cd elasticsearch-analysis-ik-1.10.1
#mvn package  //执行构建,下载依赖包.....这是个漫长的过程,大概十几分钟的时间。下面是表示完成 

完成之后就会在/usr/local/src/elasticsearch-analysis-ik-1.10.1/target/releases目录下出现一个包,也就意味着这个IK插件已经有了。

下面需要把包放到elasticsearch安装目录下的plugins目录下。

cp elasticsearch-analysis-ik-1.10..zip /usr/share/elasticsearch/plugins/  //因为是yum安装,拷贝到指定目录
# cd /usr/share/elasticsearch/plugins/
# unzip elasticsearch-analysis-ik-1.10..zip
# mkdir ik
# mv ./* ik

最后就重启ES服务,重启过后ES会自动加载IK插件了。

#service elasticsearch restart
Stopping elasticsearch: [ OK ]
Starting elasticsearch: [ OK ]

ElasticSearch(三) ElasticSearch中文分词插件IK的安装的更多相关文章

  1. Elasticsearch安装中文分词插件ik

    Elasticsearch默认提供的分词器,会把每一个汉字分开,而不是我们想要的依据关键词来分词.比如: curl -XPOST "http://localhost:9200/userinf ...

  2. ElasticSearch 中文分词插件ik 的使用

    下载 IK 的版本要与 Elasticsearch 的版本一致,因此下载 7.1.0 版本. 安装 1.中文分词插件下载地址:https://github.com/medcl/elasticsearc ...

  3. Elasticsearch如何安装中文分词插件ik

    elasticsearch-analysis-ik 是一款中文的分词插件,支持自定义词库. 安装步骤: 1.到github网站下载源代码,网站地址为:https://github.com/medcl/ ...

  4. ElasticSearch-5.0.0安装中文分词插件IK

    Install IK 源码地址:https://github.com/medcl/elasticsearch-analysis-ik,git clone下来. 1.compile mvn packag ...

  5. es学习(三):分词器介绍以及中文分词器ik的安装与使用

    什么是分词 把文本转换为一个个的单词,分词称之为analysis.es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体. 示例 POST http://192.168.247.8: ...

  6. ElasticSearch(四) ElasticSearch中文分词插件IK的简单测试

    先来一个简单的测试 # curl -XPOST "http://192.168.9.155:9200/_analyze?analyzer=standard&pretty" ...

  7. ElasticSearch搜索引擎安装配置中文分词器IK插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

  8. ElasticSearch第三步-中文分词

      ElasticSearch系列学习 ElasticSearch第一步-环境配置 ElasticSearch第二步-CRUD之Sense ElasticSearch第三步-中文分词 ElasticS ...

  9. 沉淀再出发:ElasticSearch的中文分词器ik

    沉淀再出发:ElasticSearch的中文分词器ik 一.前言   为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了 ...

随机推荐

  1. Docker1.12 + Swarm 构建动态微服务应用

    导读 我们在之前提到过一个示例,即一款由前端与多项后端服务共同构成的微服务应用.其中前端为Traefik HTTP代理,负责将各项请求路由至后端服务.而后端则非常简单,是一套基于Go的HTTP Web ...

  2. oracle11g配置dataguard

     DATAGUARD是通过建立一个PRIMARY和STANDBY组来确立其参照关系.      STANDBY一旦创建,DATAGUARD就会通过将主数据库(PRIMARY)的REDO传递给STAND ...

  3. 三 Android Studio打包EgretApp (SDK选择和下载)

    一 设置项目的sdk路径 二 设置项目使用sdk版本 一 设置项目的sdk路径 设置SDK目录 选择你电脑上的sdk路径 二 在项目中设置SDK版本 在项目中设置编译的sdk版本 在SDK Manag ...

  4. ios 如何对UITableView中的内容进行排序

    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSI ...

  5. Android开源项目分类汇总【畜生级别】

    From :http://blog.csdn.net/forlong401/article/details/25459403?c=6c4cd677a617db4655988e41ee081691#t7 ...

  6. Cocos2d-x学习笔记之常用的宏

    NS_CC_BEGIN:Cocos2D-x命名空间开始,属于Cocos2D-x的类的定义以该宏开头,用以代替C++中的“namespace cocos2d{”. NS_CC_END:Cocos2D-x ...

  7. java重构、js与接口的实现

    一.接口 接口的方法不一定必须实现的!!! 加入default,这样的方法可以不实现,如图所示 二.关于语言的特性 1.C++多继承 2.很多编程语言JavaScript.Python支持混入(Mix ...

  8. PAT 甲级 1020 Tree Traversals (二叉树遍历)

    1020. Tree Traversals (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Suppo ...

  9. 关于LegacyExchangeDN的问题

    IMCEAEX i NDR This problem is not common but quite annoying and usually hard to understood by users. ...

  10. SOCKS5的出现缓解了各种具体协议需要专门设计代理协议的困难局面

    socks5_百度百科 https://baike.baidu.com/item/socks5/8915011?fr=aladdin 如果您的机器具有一个合法的 Internet IP 地址, 或者您 ...