【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的环境就安装结束了。