ElasticSearch 文档


>7版本后不再需要类型

创建文档

文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式
POST http://127.0.0.1:9200/索引名/类型名

{
  "supplier_code":"eeee",
  "language":"",
  "id":111,
  "xml_content":"/2022/8/5/OAJ2022080501/NSTL3.0/2020-11-23_0_636/2020-11-23_0_636_6.xml"
}

此处发送请求的方式必须为POST
没有指定数据唯一性标识(ID ),默认会随机生成一个
想要自定义唯一性标识,需要在创建时指定
如果增加数据时明确数据主键id,请求方式也可以为PUT
PUT http://127.0.0.1:9201/索引名/类型名/1 1为指定的id

查看文档

需要指明文档的唯一性标识
GET http://127.0.0.1:9200/索引名/类型名/唯一标识id

修改文档

与创建文档请求一致,请求体变化,会将原有的数据内容覆盖
POST http://127.0.0.1:9200/索引名/类型名/唯一标识id

{
  "supplier_code":"eeee",
  "language":"333",
  "id":33,
  "xml_content":"/2022/8/5/OAJ2022080501/NSTL3.0/2020-11-23_0_636/2020-11-23_0_636_6.xml"
}

删除文档

删除文档不会立即从磁盘上移除,只是被标记成已删除(逻辑删除)。
DELETE http://127.0.0.1:9200/索引名/类型名/唯一标识id

删除结果(响应数据)

{
  "timed_out":false, 
  "total":5,
  "deleted":5
}

timed_out 是否超时
total 总数
deleted 删除数量

条件删除

无类型:POST http://127.0.0.1:9200/索引名/_delete_by_query
有类型:POST http://127.0.0.1:9201/索引名/类型名/_delete_by_query
删除price为3999的数据

{"query":{"match":{"price":3999}}}

嵌套结构删除

要删除的数据:

{
  "doc":{
    "language":"333"
  }
}

请求urlPOST http://127.0.0.1:9201/索引名/类型名/_delete_by_query
请求参数

{
    "query": {
        "match": {
             "doc.language": "333"
        }
    }
}

文章作者: zrh
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 zrh !
  目录