美文网首页
Elasticsearch 使用 RESTful API 操作文

Elasticsearch 使用 RESTful API 操作文

作者: SheHuan | 来源:发表于2020-12-09 20:48 被阅读0次

之前我们学习了索引相关的操作,有了索引,我们就可以往索引中添加文档,完成各种文档的操作,操作文档是 ES 中相对复杂的内容,涉及到增删改查,尤其是查询,可以玩出各种花样。接下来我们开始学习如何使用 RESTful API 操作文档,这里同样使用 Kibana 发送请求。

1、添加文档

添加文档时可以指定文档 id,例如给user索引添加一个id为1的文档,其中_doc是 ES 默认的类型名:

POST user/_doc/1
{
  "name": "张三",
  "age": 30,
  "label": [
    "不讲武德",
    "耗子尾汁"
  ]
}

如果不指定文档 id,则 ES 会给一个默认值:

POST user/_doc
{
  "name": "李四",
  "age": 18,
  "label": [
    "篮球",
    "Rap"
  ]
}

在 head 插件中查看添加的文档,注意观察 id:


没看到 label 字段的值?因为 head 工具返回 Table 格式数据时不能显示数组内容,切换到 JSON 格式即可。

前边添加文档使用的是 POST 请求,也可以使用 PUT 请求,使用 PUT 请求必须指定文档 id:

PUT user/_doc/2
{
  "name": "王五",
  "age": 25,
  "label": [
    "打工人",
    "宅男"
  ]
}

2、修改文档

有了文档,我们可以去修改它指定字段的值,例如修改 id 为1的文档的age字段:

POST user/_update/1
{
  "doc": {
    "age": 32
  }
}

除了修改文档的已有字段,还可以给文档添加一个新的字段:

POST user/_update/1
{
  "doc": {
    "school": "清华"
  }
}

3、删除文档

根据文档 id 删除:

DELETE user/_doc/1

删除符合查询条件的文档:

POST user/_delete_by_query
{
  "query": {
    "match_phrase": {
      "name": "王重阳"
    }
  }
}

相关文章

网友评论

      本文标题:Elasticsearch 使用 RESTful API 操作文

      本文链接:https://www.haomeiwen.com/subject/uouaiktx.html