我想动态计算一些值,并与原始字段一起检索计算出的值,而不仅仅是计算出的值。说,有字段“userId”,“值”。另外,我想计算“additionalParameter”。为此,添加了以下简单脚本:
"query": {
"match": {
"userId": "1161851"
}
},
"script_fields": {
"additionalParameter": {
"script": {
"lang": "painless",
"source": "doc['value'] * factor",
"params": {
"factor": 2.0
}
}
}
}
但是,当执行上面的查询时,我仅获得AdditionalParameter:
{
"_index" : "test_index",
"_type" : "doc",
"_id" : "dd57ba66-a31a-45f1-9948-18ff4fb27dc1",
"_score" : 3.0488422,
"fields" : {
"additionalParameter" : [
10.0
]
}
},
...
有谁知道将计算值附加到原始字段并检索所有内容的正确方法是什么?
最佳答案
在查询中添加_source
{
"stored_fields": [
"_source"
],
"query": {
"match": {
"userId": "1161851"
}
},
"script_fields": {
"additionalParameter": {
"script": {
"lang": "painless",
"source": "doc['value'] * factor",
"params": {
"factor": 2.0
}
}
}
}
}
关于elasticsearch - 如何从ElasticSearch检索脚本字段以及其他字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58937253/