gpt4 book ai didi

c# - C#为Elasticsearch嵌套:如何将更新 Elasticsearch 文档特定字段的查询转换为Nest?

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

我们有一个文档,其中包含“sortScore”和“id”字段。我们要更新可以由“id”唯一标识的特定文档的“sortScore”。

我为v 5.4.1创建了 flex 搜索查询,这完美地更新了“sortScore”:

POST /stock/1364740/_update
{
"script" : {
"inline": "ctx._source.sortScore += params.count",
"lang": "painless",
"params" : {
"count" : 5
}
}
}

与此对应的C#嵌套查询是什么?

最佳答案

您的查询看起来不太正确; URI具有一个索引名称"stock"和一个id "1364740",但似乎没有类型名称。

使用NEST的更新请求如下所示

var updateResponse = client.Update<object>(1364740, u => u
.Index("stock")
.Script(s => s
.Inline("ctx._source.sortScore += params.count")
.Lang("painless")
.Params(d => d
.Add("count", 5)
)
)
);

产生请求JSON
POST http://localhost:9200/stock/object/1364740/_update 
{
"script": {
"params": {
"count": 5
},
"lang": "painless",
"inline": "ctx._source.sortScore += params.count"
}
}

请注意,该请求在URI中具有类型名称 object,该类型名称是从 object通用类型参数推断出来的。

关于c# - C#为Elasticsearch嵌套:如何将更新 Elasticsearch 文档特定字段的查询转换为Nest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48852384/

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