千家信息网

Elasticsearch文档基本操作有哪些

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关Elasticsearch文档基本操作有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础增删改查创建文档// 创建文档,自动生成
千家信息网最后更新 2025年01月31日Elasticsearch文档基本操作有哪些

这篇文章将为大家详细讲解有关Elasticsearch文档基本操作有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

基础增删改查

创建文档

// 创建文档,自动生成 idPOST /<索引名>/_doc{    "foo": "bar"}
// 创建文档并指定 id,id 已存在则报错PUT /<索引名>/_doc/?op_type=create{    "foo": "bar"}
// 创建文档并指定 id,id 已存在则报错PUT /<索引名>/_create/{    "foo": "bar"}

获取文档

GET /<索引名>/_doc/

修改文档

修改整个文档

PUT /<索引名>/_doc/{    "aaa": "bbb"}

增加字段

POST /<索引名>/_update/{    "doc": {        "newFoo": "newBar"    }}

无论哪种修改,文档的 _version 字段都会增加 1。

bulk API

ES 的 bulk API 指的是允许请求者在一次操作中干不同的事的 API。例如,在一次请求中删除 id 为 qqq 的文档并创建 id 为 www 的文档,且新文档的内容为 { "dd": "ff" }

bulk API 支持的操作有:

  • Index

  • Create

  • Update

  • Delete

也就是,支持各类写操作,不支持在同一个请求中读和写。

单条操作失败不影响其他,返回结果包含每一个操作的执行结果。

POST /_bulk{ "index": { "_index": "myindex", "_id": "3" } }{ "ccc", "mmm" }{ "delete": { "_index": "myindex", "_id": "10" } }

上面的操作中,先在索引 myindex 中创建一个 id 为 3 的文档,内容为第 2 行,然后删除索引 myindex 中 id 为 10 的文档。

由于进行了 2 个操作,所以 ResponseBody 是包含 2 个元素的 list,对应每个操作的结果。

批量读取

GET /_mget{    "docs": [        {            "_index": "myindex",            "_id": "3"        },        {            "_index": "index22",            "_id": "234"        },    ]}

返回的 ResponseBody 形如:

{    "docs": [] // 请求几个文档,这里就是几个}

批量查找

POST /<索引名>/_msearch{}{ "query": { "match_all": {} }, "size": 1 }{ "index": "index333" }{ "query": { "match_all": {} }, "size": 2 }

关于"Elasticsearch文档基本操作有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0