Skip to content

ElasticSearch 学习笔记

ElasticSearch安装

使用 Docker 安装

shell
docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2

配置目录映射

shell
# 将docker里的目录挂载到linux的/mydata目录中
# 修改/mydata就可以改掉docker里的
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data

# es可以被远程任何机器访问
echo "http.host: 0.0.0.0" >/mydata/elasticsearch/config/elasticsearch.yml

# 递归更改权限,es需要访问
chmod -R 777 /mydata/elasticsearch/

启动Elastic search

shell
# 9200是用户交互端口 9300是集群心跳端口
# -e指定是单阶段运行
# -e指定占用的内存大小,生产时可以设置32G
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
docker update elasticsearch --restart=always

启动kibana

shell
# kibana指定了了ES交互端口9200  # 5600位kibana主页端口
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 -d kibana:7.4.2


# 设置开机启动kibana
docker update kibana  --restart=always

打开 kibana

http://192.168.56.10:5601/app/kibana

选择Dev Tools选项

image-20220819090816225

左侧便可输入命令,在右侧显示输出结果

CURD

创建索引

URL : http://localhost:9200/<index>/<type>/[<id>]

如果指定id,便需要用put请求,而不指定id则用post请求。如:

shell
PUT /test/_doc/1
{
  "name": "111"
}

image-20220819101206380

shell
POST /test/_doc/
{
  "name": "111"
}

image-20220819101232315

更新索引

shell
POST /test/_doc/2
{
  "name": "222"
}

image-20220819101341249

shell
PUT /test/_doc/2
{
  "name": "222"
}

image-20220819101425458

还可以修改部分列

shell
POST /test/_update/2/
{
  "doc":{
    "name": "2223"
  }
}

image-20220819101734643

查询

shell
GET /test/_doc/2

image-20220819102221670

删除文档

elasticsearch并没有提供删除类型的操作,只提供了删除索引和文档的操作

shell
DELETE /test/_doc/1

image-20220819102810463

shell
DELETE /test/

image-20220819102905239