我正在尝试使用脚本查询过滤结果。我可以使用硬编码字段值访问参数值,如下所示:
"script": "doc['price'].value * params.1000 > 4000",
"params": {"1000": "1.75"}
但是,如果我尝试使用 doc 获取字段值,则没有过滤,我可以看到所有结果。
"script": "doc['price'].value * params.doc['rate'] > 4000",
"params": {"1000": "1.75"}
有没有办法动态获取参数值?
编辑:
字段 'rate' 只是 ID。它是整数,但不是我需要的值。这个想法是每次通过参数传递不同的值,而不是经常更新字段“rate”。希望这是更好的解释...
例子:
"script": "doc['price'].value * params.doc['rate'] > 4000",
"params": {
"1000": "1.75",
"1001": "3.75",
"1002": "5"
}
if
'price' == 10 &&
'rate' == 1002
result should be: 10 * 5 > 4000
if
'price' == 10 &&
'rate' == 1001
result should be: 10 * 3.75 > 4000
if
'price' == 7 &&
'rate' == 1000
result should be: 7 * 1.75 > 4000