因此,docs始终使用任意日期作为要检查的值。
如果我有一个具有以下属性的对象:
DateTime DueDate
DateTime NotRequired
我该怎么做:
{
"range" : {
"NotRequired" : {
"gt" : "DueDate"
}
}
}
所以有效地给您简单的查询,让我了解所有实体
NotRequired > DueDate
吗?
最佳答案
range
查询仅接受特定值。但是,您可以使用 script
filter来比较两个日期,从而实现所需的功能。
"bool" : {
"filter" : {
"script" : {
"script" : "doc.NotRequired.date > doc.DueDate.date"
}
}
}
请注意,为了使其正常工作,您需要enable dynamic scripting。
关于elasticsearch - 基于另一个字段的ElasticSearch范围查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34901603/