温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Elasticsearch文档基本操作有哪些

发布时间:2021-12-16 11:05:39 来源:亿速云 阅读:143 作者:小新 栏目:大数据

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

基础增删改查

创建文档

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

获取文档

GET /<索引名>/_doc/<id>

修改文档

修改整个文档

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

增加字段

POST /<索引名>/_update/<id>
{
    "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文档基本操作有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI