Elasticsearch文档

elasticsearch文档相当于mysql中的一行数据。
操作则使用REST API

添加文档

POST

POST 用于更新数据,如果不存在,则会创建,如果存在,则更新

  • 指定id,指定更新或者创建记录的唯一id,此id和记录中的id不是同一id

    POST /poi/_doc/1
    {
      "id": 10001,
      "category": "公园",
      "name": "笔架山公园",
      "address": "广东省深圳市福田区笋岗西路",
      "location": [xxx,xxx],
      "remark": "",
      "create_time": 1732774708165
    }
  • 不指定id,数据中id会自动生成字符串,会创建一条新的记录

    POST /poi/_doc/
    {
      "id": 10001,
      "category": "公园",
      "name": "笔架山公园",
      "address": "广东省深圳市福田区笋岗西路",
      "location": [xxx,xxx],
      "remark": "",
      "create_time": 1732774708165
    }
  • _create方式,必须指定id,如果id存在,则创建失败

    POST /poi/_create/1
    {
      "id": 10001,
      "category": "公园",
      "name": "笔架山公园",
      "address": "广东省深圳市福田区笋岗西路",
      "location": [xxx,xxx],
      "remark": "",
      "create_time": 1732774708165
    }

PUT

PUT 添加文档,如果不存在,则创建,如果存在,则更新,PUT方式添加文档,必须指定id

PUT /poi/_doc/1
{
    "id": 10001,
    "category": "公园",
    "name": "笔架山公园",
    "address": "广东省深圳市福田区笋岗西路",
    "location": [xxx,xxx],
    "remark": "",
    "create_time": 1732774708165
}

查询文档

根据id查询文档

GET /poi/_doc/1

查询文档部分属性

GET /poi/_doc/1?_source=name,location,address

更新文档

覆盖更新

可直接使用指定id的POST更新

POST /poi/_doc/1
{
}

更新部分字段,使用_update

POST /poi/_update/1
{
  "doc":{
     "remark": "我发生了一次更新"
  }
}

删除文档

根据id删除文档

DELETE /poi/_doc/1

根据条件删除文档,以下是删除所有文档

POST /poi/_doc/_delete_by_query
{
  "query": {
    "match_all": {}
  }
}

批量POST文档

以_bulk命令批量处理文档
格式:

POST _bulk
{"create":{"_index":"索引名","_id":"ID"}}  //一行数据说明
{数据}                       //一行数据
{"create":{"_index":"索引名","_id":"ID"}}  //一行数据说明
{数据}                       //一行数据
版权属于:小A 本文链接:https://xiaoa.me/archives/elasticsearch-6.html 转载申明:转载请保留本文转载地址,著作权归作者所有。

评论 4

  1. 刘郎

    之前弄过一次数据库 结果自己手贱失误 数据全毁了 😂

    前天 - 中国贵州省移动
    1. 小A
      @刘郎

      运维手要稳😅,然后重要数据定时备份!

      前天 - 中国广东省深圳市电信
      1. 刘郎
        @小A

        也定时定点备份了 刚好在我折腾那天 弄的东西比较多 然后也没注意备份的时间和点 以为已经备份了 就没管 结果…… 后面恢复备份时 已经是几天以前的了 相当于瞎忙活了两三天 哈哈哈 被自己蠢到了

        前天 - 中国贵州省移动
        1. 小A
          @刘郎

          还好啊,总会有失误的时候的😳

          前天 - 中国广东省深圳市电信
没有更多啦