【Elasticsearch】使用docker安装ElasticSearch
前言
每次搭建编程环境的时候,都会忘记ElasticSearch
的安装方法,然后就得查资料研究好一会儿,因此现在将安装过程记录下来,方便以后查阅。
本文使用的是Docker
安装方式。
Docker安装单节点Elasticsearch
1. 下载镜像
首先下载ElasticSearch
的Docker
镜像,具体版本可以根据自己的需要来指定,此处下载的是7.8.0
版本。
|
|
2. 创建目录
创建三个目录,用于存放数据、插件和配置。
|
|
在config
目录下创建elasticsearch.yml
文件,用于存放配置,并在配置文件中加入基本配置。
|
|
3. 运行容器
运行Docker
容器。
|
|
discovery.type=single-node
表示安装的es
为单节点。
ES_JAVA_OPTS
用于指定ElasticSearch
能使用的内存,如果内存过大会导致无法使用Docker
容器。-Xms128m
表示最少能用128MB
,-Xmx128m
表示最多能用128MB
。
-v
用于将宿主机的目录映射到容器内,注意得先分配目录的权限。
4. 检验是否成功
浏览器打开localhost:9200
,如果出现如下内容,则表示安装成功。
|
|
name
是节点名称,cluster_name
是集群名称,可以通过修改elasticsearch.yml
来修改它们,如:
|
|
这样就完成了修改,重启elasticsearch
即可看到变化。
Docker安装HEAD插件
HEAD
插件提供了一个可视化的界面,供我们查看集群信息。安装命令为:
|
|
接着浏览器访问http://localhost:9100
,就能看到相应界面,但是此时还存在跨域问题,修改elasticsearch.yml
即可解决。
|
|
Docker安装kibana
kibana
提供了一个操作ElasticSearch
的图形化界面。当然,kibana
不是必须得安装。
|
|
docker pull
操作并不是必需的,如果docker run
找不到镜像,docker
内部也会先去执行pull
操作。
本文所有的Elasticsearch
请求命令,都默认在kibana
工具中操作。
安装分词器
1. 说明
进行搜索的时候,ElasticSearch
内部往往会对输入语句进行分词操作,分成一个个单词短语,然后进行检索。但是ElasticSearch
本身没有支持中文的分词器,所以需要自行安装。
2. 安装
安装步骤为:
- 在
elasticsearch/plugins/
目录下创建ik
目录。 - 进入下载页面https://github.com/medcl/elasticsearch-analysis-ik/releases。
- 下载所需版本,然后解压到
ik
,并重启elasticsearch
。
3. 测试
为了测试分词器是否安装成功,先创建一个索引:
|
|
然后发送请求:
|
|
如果请求处理成功,则分词器安装成功。
4. 配置自定义词库
有时候,分词器的结果并不能符合我们的期望,这时候可以自定义词库。
自定义词库是一个配置文件,文件内容为自定义的词,每个词独占一行,如:
|
|
可以将配置文件命名为ext.dic
,然后放置在elasticsearch/plugins/ik/config
中。当然,文件名和位置可以根据自己的需要进行调整。
打开elasticsearch/plugins/ik/config/IKAnalyzer.cfg.xml
文件:
|
|
修改第6行然后重启elasticsearch
即可,注意ext.dic
的路径必须正确。
|
|
上述步骤为配置本地自定义词库,还可以配置网络自定义词库,网络词库支持热更新。
比如可以使用nginx
或者自定义http server
,来提供网络词库。
结语
至此,ElasticSearch
的环境就安装结束了。