官方文档【英文】:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
官方文档【中文】:https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html
社区中文:https://doc.codingdict.com/elasticsearch/0/
动词,相当于MySQL中的Insert
名词,相当于MySQL中的Database
Index可被定义多个类型,类似于MySQL中的Table,每一种类型的数据放在一起
3、 document(文档) 保存在某个索引下,某种类型的一个数据,文档是JSON格式
document就像MySQL某Table中的内容
docker pull elasticsearch:7.4.2 #存储和检索数据docker pull kibana:7.4.2 #可视化检索数据
2、创建实例 1、ElasticSearchmkdir -p /mydata/elasticsearch/configmkdir -p /mydata/elasticsearch/dataecho "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.ymldocker 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
注意:
-e ES_JAVA_OPTS="-Xms64m -Xms 128m" 测试环境下,设置ES初始内存和最大内存,否则导致占用内存过大启动不了ES
docker run --name kibana -e "ELASTICSEARCH_URL=http://112.124.32.136:9200" -p 5601:5601 -d kibana:7.4.2
报错:
docker 中 启动Kibana 时遇到no living connections ,unable revive connection :http://elasticsearch
# 进入kibana内部docker exec -it kibana /bin/bashvi /config/kibana.yml# 修改 http://elasticsearch:9200 为 http://ip地址:9200# Ctrl + p + q 退出容器# 重启容器docker restart kibana
开机自启docker update 容器ID --restart=always
三、应用 查看节点信息GET http://ip:9200/_cat/nodes
{ "doc": { //数据 }}
查看索引信息GET http://ip:9200/_cat/indices
获取文档信息GET http://ip:9200/索引/类型/ID
保存文档信息 携带ID PUT http://ip:9200/索引/类型/ID
特点: 每次操作都会生效,若存在ID则更新,否则新建
{ //数据}
不携带ID POST http://ip:9200/索引/类型
特点: 新建,ID为随机字符串
{ //数据}
明确更新 POST http://ip:9200/索引/类型/ID/_update
特点: 先比较原数据,若相同则不生效
{ "doc": { //数据 }}