gpt4 book ai didi

elasticsearch - Elastic Search Bulk忽略了json中提供的最后一个操作

转载 作者:行者123 更新时间:2023-12-02 22:23:29 25 4
gpt4 key购买 nike

我正在尝试在 flex 搜索中执行批量操作。但是,JSON给出的最后操作绝不会通过 flex 搜索执行。

这是我的请求:

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个:
{
"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”(名称:“仅创建-新Jane Doe 1”)的客户 。如果我删除了这个最后一个请求(id:5),那么甚至没有创建id:4。

我进行了搜索,以获取所有用于客户索引的文档,但是不存在id:5。

好像 flex 搜索正在忽略JSON的最后一部分。我什至尝试通过PostmanClient发送请求,并且仍然保持不变。

flex 搜索版本:5.1.1

最佳答案

看起来JSON必须始终以here开头,并以新行字符(\ n)结尾。

我在JSON的末尾添加了一行,效果很好。

关于elasticsearch - Elastic Search Bulk忽略了json中提供的最后一个操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41385183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com