One, configure the virtual machine environment
Use Vagrant to quickly create a virtual machine
Download and use Vagrant
2. Download the mirror
Three, create an instance
3.1 ElasticSearch
mkdir -p /mydata/elasticsearch/config # 在mydata目录下创建config,data文件夹,未来将文件挂载到这个目录下
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml # 代表我们的ES可以被远程的任何机器进行访问,>>写入到了yml文件
# -p暴露端口9200 9300,9200发送http请求的端口,9300是es集群之间通信端口
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ #--name为容器起一个名字,elasticsearch
-e "discovery.type=single-node" \ # 指定ES以单节点运行
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \ # 指定初始时64m,最大占用128m,不配置,可能会卡死
-v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ # -v挂载文件,容器内外一一对应
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ # 挂载插件
-d elasticsearch:7.4.2
-------------------------------------------------------------------------------------
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
-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.4.2
3.2 Kibana
Kibana visual interface
# --name给容器起个名字,HOSTS,es的主机地址,映射端口5601
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \
-d kibana:7.4.2
3.3 Install IK tokenizer
https://github.com/medcl/elasticsearch-analysis-ik/archive
3.4 Increase ES memory
The original ES memory setting is relatively small, reset it
docker ps
docker stop 2c5 #停止ES
docker rm 2c5 #删除ES,由于之前将数据挂载了出来,所以数据不会丢失
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-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.4.2
四、ElasticSearch
4.1 Start
4.2 _cat
4.3 New data in put&post
4.4 Query data
Similar to optimistic lock in mysql
4.5 Modify data
4.6 Delete data
4.7 _bulk batch operation
Five, ElasticSearch advanced
5.1 SearchAPI
5.2 Query DSL