1、拉取镜像
docker pull elasticsearch:7.17.5
(听说这玩意不同版本有不同的坑,不兼容程序等等,所以要注意下载对应版本号)
2、创建挂载目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml
chmod -R 777 /mydata/elasticsearch/
3、启动容器
docker run --name elasticsearch --restart=always -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-e ELASTICSEARCH_USERNAME=elastic \
-e ELASTIC_PASSWORD=elastic@2023 \
-e xpack.security.enabled=true \
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.17.5
4、安装IK分词器
IK项目地址:
https://github.com/medcl/elasticsearch-analysis-ik
首先需要说明的是,IK插件必须和 ElasticSearch 的版本一致,否则不兼容。
本系统采用的ElasticSearch版本为7.17.5
方法1:在线安装
进入容器
docker exec -it elasticsearch /bin/bash
下载
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.5/elasticsearch-analysis-ik-7.17.5.zip
退出
exit
重启容器
docker restart elasticsearch
方法2:离线安装
从 https://github.com/medcl/elasticsearch-analysis-ik/releases 下载压缩包,然后在ES的plugins目录创建analysis-ik子目录,把压缩包的内容复制到这个目录里面即可。最终plugins/analysis-ik/目录里面的内容:
plugins/analysis-ik/
config
commons-codec-1.9.jar
commons-logging-1.2.jar
elasticsearch-analysis-ik-6.2.4.jar
httpclient-4.5.2.jar
httpcore-4.4.4.jar
plugin-descriptor.properties
然后重启 ElasticSearch。
在es部署成功后,新建索引有两种方法
1.通过 Elasticsearch 的 RESTFul API 创建索引
PUT http://127.0.0.1:9200/product
2.通过 CURL 命令创建索引
curl -X PUT "localhost:9200/product?pretty"
{
...
}
(浏览器访问 http://ip:9200,输入用户名密码,打开控制台,复制Authorization,然后使用postman等等api接口工具操作ES即可)