官方文档【英文】: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/
一、基本概念
1、 Index(索引)
动词,相当于MySQL中的Insert 名词,相当于MySQL中的Database
2、 Type(类型)
Index可被定义多个类型,类似于MySQL中的Table,每一种类型的数据放在一起
3、 Document(文档)
保存在某个索引下,某种类型的一个数据,文档是JSON格式 Document就像MySQL某Table中的内容
倒排索引机制
二、Docker中安装ElasticSearch
1、下载镜像文件
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
2、创建实例
1、ElasticSearch
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
注意: -e ES_JAVA_OPTS="-Xms64m -Xms 128m" \ 测试环境下,设置ES初始内存和最大内存,否则导致占用内存过大启动不了ES
2、Kibana
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
docker exec -it kibana /bin/bash
vi /config/kibana.yml
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": {
}
}
|