elasticsearch + ik

国外:
下载地址(2.1.1版),其他版本看这里

https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/zip/elasticsearch/2.1.1/elasticsearch-2.1.1.zip

目前跟ik的版本对应,有更新看这里

IK version  ES version
master  2.3.1 -> master
1.9.1   2.3.1
1.9.0   2.3.0
1.8.1   2.2.1
1.7.0   2.1.1
1.5.0   2.0.0
1.4.1   1.7.2
1.4.0   1.6.0
1.3.0   1.5.0
1.2.9   1.4.0
1.2.8   1.3.2
1.2.7   1.2.1
1.2.6   1.0.0
1.2.5   0.90.x
1.1.3   0.20.x
1.1.2   0.19.x
1.0.0   0.16.2 -> 0.19.0

一般安装elasticsearch之后,多半会安装ik分词,而二者有版本的对应关系的,如果装了不对应版本,会出问题的

国内:
多指github,如下图,可以找到一个包的不同版本的安装包了。
这里写图片描述

安装elasticsearch和ik
1 先下载这两个包,我用的是2.1.1(elas)和1.7.0(ik)
elasticsearch 2.1.1 链接
ik 1.7.0 链接

2 分别解压两个包(unzip)
3 可以先到elasticsearch(后称elas)中,将elas启动(我将elasticsearch文件夹改名为elas了,为操作方便)

zhangl@zhangl:~/projects/elas$ pwd
/home/zhangl/projects/elas
zhangl@zhangl:~/projects/elas$ ./bin/elasticsearch
[2016-06-05 10:01:33,946][INFO ][node                     ] [Mauler] version[2.1.1], pid[12954], build[40e2c53/2015-12-15T13:05:55Z]
[2016-06-05 10:01:33,947][INFO ][node                     ] [Mauler] initializing ...
[2016-06-05 10:01:34,356][INFO ][plugins                  ] [Mauler] loaded [elasticsearch-analysis-ik], sites []
[2016-06-05 10:01:34,379][INFO ][env                      ] [Mauler] using [1] data paths, mounts [[/ (/dev/sda6)]], net usable_space [123.3gb], net total_space [138.9gb], spins? [possibly], types [ext4]
[2016-06-05 10:01:36,540][INFO ][ik-analyzer              ] [Dict Loading]ik/custom/mydict.dic
[2016-06-05 10:01:36,540][INFO ][ik-analyzer              ] [Dict Loading]ik/custom/single_word_low_freq.dic
[2016-06-05 10:01:36,544][INFO ][ik-analyzer              ] [Dict Loading]ik/custom/ext_stopword.dic
[2016-06-05 10:01:37,043][INFO ][node                     ] [Mauler] initialized
[2016-06-05 10:01:37,043][INFO ][node                     ] [Mauler] starting ...
[2016-06-05 10:01:37,243][INFO ][transport                ] [Mauler] publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300}
[2016-06-05 10:01:37,257][INFO ][discovery                ] [Mauler] elasticsearch/NB88jpS1Q1Cjqeqav5pozQ

[2016-06-05 10:01:40,326][INFO ][cluster.service          ] [Mauler] new_master {Mauler}{NB88jpS1Q1Cjqeqav5pozQ}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)
[2016-06-05 10:01:40,342][INFO ][http                     ] [Mauler] publish_address {127.0.0.1:9200}, bound_addresses {127.0.0.1:9200}, {[::1]:9200}
[2016-06-05 10:01:40,343][INFO ][node                     ] [Mauler] started
[2016-06-05 10:01:40,428][INFO ][gateway                  ] [Mauler] recovered [0] indices into cluster_state

可以看到已经启来了,可以进行简单的测试(后续测试略过)

# 查看elas的索引
curl "localhost:9200/_cat/indices/?v"

4 安装ik(我将elasticsearch-analysis-ik-1.7.0文件夹改名为ik了,为操作方便)

1 因为是源代码,此处需要使用maven打包,进入解压文件夹中,执行命令:
zhangl@zhangl:~/projects/ik$ pwd
/home/zhangl/projects/ik
zhangl@zhangl:~/projects/ik$ mvn clean package

2 编译完之后,有3个地方的文件需要拷贝到elas中
# 将/ik/target/elasticsearch-analysis-ik-1.7.0-sources.jar文件拷到/elas/lib/下
# 将/ik/target/releases/elasticsearch-analysis-ik-1.7.0.zip文件拷贝到/elas/plugins/analysis-ik/下并解压,如果没有文件夹就手动创建
# 将/ik/config/下所有文件拷贝到/elas/config/下

3 配置/elas/config/elasticsearch.yml文件
在文件最后加上一句话(注意:没有引号)
index.analysis.analyzer.ik.type: ik

4 启动elas

5 测试分词

zhangl@zhangl:~$ curl -XGET "localhost:9200/_analyze?analyzer=ik&pretty=true" -d "我是中国人"
{
  "tokens" : [ {
    "token" : "我",
    "start_offset" : 0,
    "end_offset" : 1,
    "type" : "CN_CHAR",
    "position" : 0
  }, {
    "token" : "中国人",
    "start_offset" : 2,
    "end_offset" : 5,
    "type" : "CN_WORD",
    "position" : 1
  }, {
    "token" : "中国",
    "start_offset" : 2,
    "end_offset" : 4,
    "type" : "CN_WORD",
    "position" : 2
  }, {
    "token" : "国人",
    "start_offset" : 3,
    "end_offset" : 5,
    "type" : "CN_WORD",
    "position" : 3
  } ]
}
zhangl@zhangl:~$ 

报错:

Caused by: java.lang.IllegalArgumentException: Unknown Analyzer type [ik] for [ik]

情况:
我在安装完elasticsearch(后称elas)后,启动项目,可以正常的使用,并且启动的时候并没有报错,都没有问题的。但当我安装并配置完ik后,我再启动elas的时候,就这个报错。

解决:
查了网上一般有几种情况, 1 elas和ik的版本没有对应引起。 2 没有正确配置ik。 3 这是我的情况,我在安装elas的时候,曾经进行过测试的,包括增删改查索引等操作,故在安装ik后,elas里还有一个索引,所以在启动elas+ik的时候就报错了,我到elas里将那个所以删除后,就可以正常启动elas服务了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值