gpt4 book ai didi

elasticsearch - Upserting字段不适用于Elasticsearch-php

转载 作者:行者123 更新时间:2023-12-03 00:01:35 24 4
gpt4 key购买 nike

elasticsearch-php 6.0中的句子:

这意味着upsert将尝试运行您的更新脚本,但是如果该文档不存在(或者您要更新的字段不存在),则会插入默认值。

当我尝试将字段追加到现有文档中时,它不起作用并返回null_pointer_exception。使用curl尝试返回相同的结果。

Elasticsearch引用[6.1]没有提到可以对字段进行升序。也许有版本问题。没有Elasticsearch-PHP [6.1]!

引用中的示例:

curl -XPOST 'localhost:9200/test/type1/1/_update?pretty' -H 'Content-Type: application/json' -d'
{
"script" : {
"source": "ctx._source.ava += params.count",
"lang": "painless",
"params" : {
"count" : 4
}
},
"upsert" : {
"ava" : 1
}
}
'

当文档存在且字段“ava”不存在时,该功能不起作用。

那么,问题是如何将字段追加到现有文档中? curl 的例子还可以,谢谢。

最佳答案

如果没有ava字段,则应使用NPE。像这样更改脚本:

{
"script" : {
"source": "ctx._source.ava = (ctx._source.ava ?: 0) + params.count",
"lang": "painless",
"params" : {
"count" : 4
}
},
"upsert" : {
"ava" : 1
}
}

关于elasticsearch - Upserting字段不适用于Elasticsearch-php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575382/

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