首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索批量忽略了json中提供的最后一个操作。

弹性搜索批量忽略了json中提供的最后一个操作。
EN

Stack Overflow用户
提问于 2016-12-29 18:21:44
回答 1查看 142关注 0票数 2

我试图在弹性搜索中执行批量操作。但是,JSON中给出的最后一次操作从未通过弹性搜索执行。

这是我的请求

代码语言:javascript
复制
curl -XPOST 'localhost:9200/customer/external/_bulk?pretty&pretty' -d'

{"update":{"_id":"1"}}
{"doc": { "name": "Update - John Doe becomes Jane Doe" } }

{"delete":{"_id":"4"}}

{"index":{"_id":"3"}}
{"name": "Create or Update - New Jane Doe" }

{"create":{"_id":"4"}}
{"name": "Only Create - New Jane Doe" }

{"create":{"_id":"5"}}
{"name": "Only Create - New Jane Doe 1" }'

响应只包含4个输出,而不是5个:

代码语言:javascript
复制
{
  "took": 100,
  "errors": false,
  "items": [
    {
      "update": {
        "_index": "customer",
        "_type": "external",
        "_id": "1",
        "_version": 9,
        "result": "noop",
        "_shards": {
          "total": 2,
          "successful": 1,
          "failed": 0
        },
        "status": 200
      }
    },
    {
      "delete": {
        "found": true,
        "_index": "customer",
        "_type": "external",
        "_id": "4",
        "_version": 4,
        "result": "deleted",
        "_shards": {
          "total": 2,
          "successful": 1,
          "failed": 0
        },
        "status": 200
      }
    },
    {
      "index": {
        "_index": "customer",
        "_type": "external",
        "_id": "3",
        "_version": 7,
        "result": "updated",
        "_shards": {
          "total": 2,
          "successful": 1,
          "failed": 0
        },
        "created": false,
        "status": 200
      }
    },
    {
      "create": {
        "_index": "customer",
        "_type": "external",
        "_id": "4",
        "_version": 5,
        "result": "created",
        "_shards": {
          "total": 2,
          "successful": 1,
          "failed": 0
        },
        "created": true,
        "status": 201
      }
    }
  ]
}

在我的场景中,用户的id "5“(名称:"Only 1")从未被创建过。如果我删除最后一个请求(id:5),那么即使id:4也不会被创建。

我搜索了客户索引的所有文档,但是id:5没有出现。

这就好像弹性搜索忽略了JSON的最后一部分。我甚至试图通过PostmanClient发布请求,但它仍然是一样的。

弹性搜索版本: 5.1.1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-30 05:37:35

看起来,JSON必须始终以新行字符 (\n)结尾,正如所描述的这里

我在JSON的末尾添加了一个新行,它运行得很好。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41385183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档