ElasticSearch安装(附:head、ik分词器)

ElasticSearch安装(附:head、ik分词器)

一、准备:

1.jdk1.8:

#下载linux tar.gz 
https://www.oracle.com/technetwork/java/javaee/downloads/jdk8-downloads-2133151.html

#解压
tar -zxvf ×××.tar.gz 

#参数配置 vim /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

2.关闭防火墙

#停止firewall
systemctl stop firewalld.service 
#禁止firewall开机启动
systemctl disable firewalld.service 
#查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state 

二、下载ElasticSearch 2.4

​ 下载地址:https://www.elastic.co/downloads/past-releases

这里写图片描述

三、安装

1.解压 并修改配置文件

tar -zxvf elasticsearch-2.4.0.tar.gz
#vi config/elasticsearch.yml
#cluster name
cluster.name: sojson-application
#节点名称
node.name: node-1
#绑定IP和端口
network.host: 123.88.88.88
http.port: 9200

2.创建账号:

​ es启动是不允许使用root账号来启动的,所以我们需要来创建一个其他的账号并赋予其账号对应权限

#添加一个用户:elasticsearch
$useradd elasticsearch
#给用户elasticsearch设置密码,连续输入2次
$passwd elasticsearch
#创建一个用户组 es
groupadd es
#分配 elasticsearch 到 es 组
usermod -G elasticsearch es
#这里注意下,如果提示用户“es”不存在,那么是因为服务器版本问题,你可以换成 usermod -G es elasticsearch ,也就是用户和用户组对调一下使用。
#这里感谢【武汉|Java|竹木鸟】发现这个问题,并告知我。
#在elasticsearch 根目录下,给定用户权限。-R表示逐级(N层目录) , * 表示 任何文件
chown  -R elasticsearch.es *
#切换到elasticsearch用户
su elasticsearch

3.启动

#切换账号
su elasticsearch
#启动
./bin/elasticsearch

4.检测开启是否成功

访问: http://ip:9200

在这里插入图片描述

四、安装插件head

#转至安装目录 bin
cd ./bin/
#安装插件
./plugin install mobz/elasticsearch-head
# restart

这里写图片描述

五、添加分词器(IK)

​ 默认的分词器将每一个字都进行了拆分,很明显这不是我们想要的,我们想要的是当我们搜索’大米’或者’五常米’之类的字的时候能搜索到我们要的这条数据,而不是一个字一个字的进行拆分。这时我们就需要引入分词器,而ik分词器就是一个很不错的选择。

1.下载ik分词器

一般到github上下载源码,之后使用maven进行编译,需要注意的是es与ik是有版本匹配的,所以需要找到配对的版本,目前我们安装的es是2.4.0版本,所以使用了对应的1.10.0版本的ik分词器,下载地址为:http://download.csdn.net/download/liboyang71/10121696 (没办法csdn必须设置积分,考虑到需要的同学提供了别的下载地址链接:http://pan.baidu.com/s/1boQmgCR 密码:niaz)对应版本的信息可以到github中去进行查看,拿到自己所需的ik版本。

#注:百度云盘中的分词器 需要修改 plugin-descriptor.properties
java.version=1.8
elasticsearch.version=2.4.0

2.ik分词器安装

​ 下载完后,我们将ik分词器上传到我们的es的plugins/ik目录下,ik文件夹需要我们自己创建,命令如下

#切换目录
cd elasticsearch-2.4.0/plugins/
#创建ik文件夹
mkdir ik
#切换到ik文件夹下进行文件上传
cd ik
#没有unzip命令的同学输入如下命令安装unzip命令
yum install -y unzip
#对zip进行解压
unzip elasticsearch-analysis-ik-1.10.0.zip

3.更改es默认使用的分词器(附加)

#虽然我们已经安装好了ik分词器,但是如果后期我们在与java结合开发的时候,我们会发现如果我们不刻意去指定使用哪个分词器,还是会使用默认的分词器,这样虽然可以用代码设置来解决,但是如果我们直接将默认分词器改为ik分词器岂不是更方便,这个设置看个人需求,不是必备设置的。 
#4.4.1 修改默认分词器为ik分词器 
#其实很容易,只要在elasticsearch.yml中加入两行配置即可 

index.analysis.analyzer.default.tokenizer : "ik_max_word"
index.analysis.analyzer.default.type : "ik"

4.配置自定义分词器

其实只要将我们plugins/ik/config/custom此目录下的mydict.dic文件中添加我们要自定义的词即可。(如下图所示)

这里写图片描述

使用vi命令进行编辑

这里写图片描述

六、备注

最后,除了启动es时候切换成新建的账号其余的操作还是使用root账户比较好,省的出现一些权限不足而报错的问题。

好了,之后重启es就大功告成了。在开发的时候只要直接存储数据就会按照ik分词器的切词方式来进行存储了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值