我在 Elastic Search 中使用父子文档。我可以使用 _update api 对主文档进行部分更新。但是,如果我在子文档上使用 _update APi,则该文档的内容将完全被我的脚本内容替换。出了问题......我不知道是什么......
参见下面的示例:
创建子文档
POST to /indexName/comment/c006?parent=b003
{
"authorId": "ps101",
"authorFullName": "Lieven",
"body": "Comment text comes here",
"isApproved": false
}
获取 child
GET to /indexName/comment/c006?parent=b003
{
_index: "indexName"
_type: "comment"
_id: "c006"
_version: 20
found: true
-_source: {
authorId: "ps101"
authorFullName: "Lieven"
body: "Comment text comes here."
isApproved: false
}
}
部分更新
POST TO /indexName/comment/c006?parent=b003/_update
{
"script" : "ctx._source.isAcceptedAnswer=value",
"params" : {
"value" : true
}
}
现在,重新找回 child
GET to /indexName/comment/c006?parent=b003
{
_index: "indexName"
_type: "comment"
_id: "c006"
_version: 21
found: true
-_source: {
script: "ctx._source.isAcceptedAnswer=value"
-params: {
value: true
}
}
}
来源完全错误......
希望有人能帮忙 马克
最佳答案
改变
POST TO /indexName/comment/c006?parent=b003/_update
至
POST TO /indexName/comment/c006/_update?parent=b003
那个?是查询字符串的开头,它位于末尾。
关于elasticsearch - 如何使用更新 API 更新 Elastic search 中的子文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24221102/