es中如何比较两个时间类型(Date)的字段值大小?
前提条件: fieldA fieldB都是Date类型。
GET /index_name/_mapping 查看index_name下的字段类型
GET /index_name/_search { "query": { "bool": { "must": [ { "script":{ "script":{ "lang":"painless", "source":"doc['fieldA'].size()>0" } } }, { "script":{ "script":{ "lang":"painless", "source":"doc['fieldB'].size()>0" } } }, { "script": { "script": { "inline": "doc['fieldB'].value.getMillis() - doc['fieldA'].value.getMillis()>0", "lang": "painless" } } } ] } } }
"source":"doc['fieldA'].size()>0" 用来判断某个字段是否有值
doc['fieldB'].value.getMillis() 将时间转化为时间戳 时间戳用来做运算

浙公网安备 33010602011771号