ES单个文档管理

文档创建

1. 文档的创建(推荐)

1
2
3
4
5
6
7
8
9
POST 11.0.1.113:9200/dawn/doc
{
    "name": "zlm",
    "hobby": [
        "吃饭",
        "睡觉",
        "上课"
    ]
}

2. 文档的创建指定文档id(不推荐,可能存在id冲突问题)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
POST 11.0.1.113:9200/dawn/doc/2300160645
{
    "school": "czu",
    "class": "计算机001",
    "student": [
        {
            "name": "dark",
            "hobby": [
                "打球",
                "看书"
            ]
        },
        {
            "name": "ocean",
            "hobby": [
                "唱歌",
                "rap",
                "篮球"
            ]
        }
    ]
}

文档查看

1. 查看所有的文档

1
GET 11.0.1.113:9200/dawn/_search

2. 查看指定的文档

1
GET 11.0.1.113:9200/dawn/doc/2300160645

3. 基于DSL语句查询

1
2
3
4
5
6
7
8
POST 11.0.1.113:9200/dawn/_search
{
    "query": {
        "match": {
            "name": "zlm"
        }
    }
}

文档修改和删除

1. 修改文档

1
2
3
4
5
6
POST 11.0.1.113:9200/dawn/doc/2300160645/_update
{
    "doc":{
        "school" : "thu"
    }
}

2. 删除文档

1
DELETE 11.0.1.113:9200/dawn/doc/2300160645

ES文档批量操作

文档批量创建(注意最后有一个换行)

只能采用扁平化的方式去写,不能采用Beautify的方式去写

1
2
3
4
5
6
7
POST 11.0.1.113:9200/_bulk
{ "index" : { "_index" : "dawn05"} }
{"name": "张三","hobby": ["1","2","3"]}
{ "index" : { "_index" : "dawn05"} }
{"name": "李四","hobby": ["4","5","6"]}
{ "index" : { "_index" : "dawn05"} }
{"name": "王五","hobby": ["7","8","9"]}

image-20261015140916895

文档批量查看

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
POST 11.0.1.113:9200/_mget
{
    "docs": [
        {
            "_index": "dawn05",
            "_id": "854sPqEBMns9ROCbUcEr"
        },
        {
            "_index": "dawn05",
            "_id": "8p4sPqEBMns9ROCbUcEq"
        }
    ]
}

文档批量修改(注意最后有一个换行)

1
2
3
POST 11.0.1.113:9200/_bulk
{ "update" : { "_index" : "dawn05","_id" : "9J4sPqEBMns9ROCbUcEr"} }
{ "doc" : {"age" : 30, "hobby": ["10","11","12"]} }

image-20261015141507490

文档批量删除(注意最后有一个换行)

1
2
3
4
POST 11.0.1.113:9200/_bulk
{ "delete" : { "_index" : "dawn05", "_id" : "854sPqEBMns9ROCbUcEr" } }
{ "delete" : { "_index" : "dawn05", "_id" : "8p4sPqEBMns9ROCbUcEq" } }
{ "delete" : { "_index" : "dawn05", "_id" : "9J4sPqEBMns9ROCbUcEr" } }

image-20261015141852581

对于文档的批量操作而言,使用"_bulk"的API实现数据的写操作(创建,修改,删除),使用"_mget"实现读取操作。