原文:使用Docker 安装Elasticsearch、Elasticsearch-head、IK分词器 和使用
Elasticsearch的安装
一、elasticsearch的安装
1.镜像拉取
docker pull elasticsearch:tag
2.启动
docker run -it -e "discovery.type=single-node" --name="es" -p 9200:9200 -p 9300:9300 elasticsearch
3.查看启动是否成功
fengweideMacBook-Pro:~ jerry.feng$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b8c7c128df2f elasticsearch "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
4.修改配置,跨域访问问题
1.进入容器
fengweideMacBook-Pro:~ jerry.feng$ docker exec -it b8c7c128df2f /bin/bash
root@b8c7c128df2f:/usr/share/elasticsearch# ls
NOTICE.txt README.textile bin config data lib logs modules plugins
root@b8c7c128df2f:/usr/share/elasticsearch# cd config/
root@b8c7c128df2f:/usr/share/elasticsearch/config# ls
elasticsearch.yml log4j2.properties scripts
2.编辑 elasticsearch.yml
root@b8c7c128df2f:/usr/share/elasticsearch/config# vim elasticsearch.yml
3. 如果容器中没有vim命令
安装 vim
首先apt-get update
然后apt-get install vim
安装完,再编辑elasticsearch.yml
在文件末尾加上
http.cors.enabled: true
http.cors.allow-origin: "*"
配置修改完成,重启容器。
5.浏览器连接测试
通过浏览器可以通过映射的9200端口,访问;如果能有基本的信息访问,说明elasticsearch服务启动成功。
二、elasticsearch-head的安装
elasticsearch-head相当于是一个桌面,通过elasticsearch-head工具可以来操作elasticsearch。
1.镜像拉取
docker pull mobz/elasticsearch-head:5
2.启动
docker run -it --name="es-admin" -p 9100:9100 mobz/elasticsearch-head
3.查看启动是否成功
fengweideMacBook-Pro:~ jerry.feng$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b8c7c128df2f elasticsearch "/docker-entrypoint.…" 2 hours ago Up 2 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
8f4cfb43b134 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt s…" 26 hours ago Up 26 hours 0.0.0.0:9100->9100/tcp es_admin
4.浏览器连接测试
连接测试,能连接上http://localhost:9200/
说明启动完成
5.elasticsearch-head 的增删改查
5.1 创建索引(index) request PUT类型
5.2 创建类型(type) request POST类型
5.3 查询 request post类型
5.3.1 查询所有
也可以在基本查询框操作
5.3.1 删除 request DELETE
url后面直接跟_id
二、IK分词器的安装
elasticsearch分词器,对中文分词并不是太友好。这里我们可以下载开源的IK分词器,来解决这一问题。
1.下载资源
1.进入elasticsearch容器->plugins 目录下
fengweideMacBook-Pro:~ jerry.feng$ docker exec -it b8c7c128df2f /bin/bash
root@b8c7c128df2f:/usr/share/elasticsearch# ls
NOTICE.txt README.textile bin config data lib logs modules plugins
root@b8c7c128df2f:/usr/share/elasticsearch# cd plugins/
2.下载资源
*elasticsearch 5.0 后的版本都不支持插件,在线安装的方式。elasticsearch-plugin
具体可以参考 https://github.com/medcl/elasticsearch-analysis-ik/issues/344
3.现在可以通过下载资源方式安装
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.12/elasticsearch-analysis-ik-5.6.12.zip
下载完成
elasticsearch-analysis-ik-5.6.12.zip 100%[=============================================================================================================>] 4.29M 1.27MB/s in 3.4s
2019-01-14 11:21:40 (1.27 MB/s) - ‘elasticsearch-analysis-ik-5.6.12.zip’ saved [4502362/4502362]
root@b8c7c128df2f:/usr/share/elasticsearch/plugins# ls
elasticsearch-analysis-ik-5.6.12.zip
* 这里需要注意的是ik 分词器的版本。需要与elasticsearch版本相对应,否者后面会启动失败。
4.解压
unzip xx 重命名为ik
5.重启
elasticsearch
IK与ES版本兼容 ,详情请参考https://github.com/medcl/elasticsearch-analysis-ik
elasticsearch 默认的分词器,对中文是按照单个汉字,分词的。
例:
IK 分词器的使用
例:可以进行词语的分割,这就更符合我们中文的查询习惯。
ik分词器的使用不止这些。还可以自定义词条,以及添加自定义词条,或者忽略某些词条。
此外还有起的的分词器,可以根据自己项目的实际需要,来进行操作。
这里,Elasticsearch、Elasticsearch-head、IK分词起的安装,以及使用就简单介绍到这里,后面的实际运用可以根据实际情况,来进行操作。