gpt4 book ai didi

elasticsearch - 字段的算术运算

转载 作者:行者123 更新时间:2023-11-29 02:54:09 24 4
gpt4 key购买 nike

是否可以查询两个字段相减的结果?

例如有两个字段:“开始”、“结束”。我想要带有 end - start > 10 的文档。

这可以直接完成还是唯一的方法是在加载具有这种差异的文档时创建一个新字段?

最佳答案

您可以使用 script filters使用 scripting documentation 中解释的脚本语法.

对于你的具体问题,你可以做类似的事情

{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"script": {
"script": "doc['end'].value - doc['start'].value > 10"
}
}
}
}
}

您可以在其中将 match_all 查询替换为您自己的查询。

从上面的代码中可能很清楚,您可以访问 specific fields在您的文档中使用语法 doc['field'] 并将特定函数应用于它们的值。在这种情况下,.value(不带括号)返回字段本身的值。

关于elasticsearch - 字段的算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23908643/

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