是否可以查询两个字段之间的减法结果?
E.g。有两个字段:" start"," end"。我希望文档包含end - start > 10
。
这可以直接完成,或者唯一的方法是在加载具有这种差异的文档时创建一个新字段吗?
答案 0 :(得分:6)
您可以使用script filters中解释的脚本语法来使用scripting documentation。
针对您的具体问题,您可能会执行类似
的操作{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"script": {
"script": "doc['end'].value - doc['start'].value > 10"
}
}
}
}
}
您可以在其中用您自己的match_all
查询替换。
从上面的代码中可以清楚地看到,您可以使用sintax doc['field']
访问文档中的specific fields,并将特定函数应用于其值。在这种情况下,.value
(不带括号)返回字段本身的值。
答案 1 :(得分:1)