试试搜索一下吧

脚本返回date的毫秒数的差值多于24天后没达到预期

Elasticsearch | 作者 zhyusElastic | 发布于2019年03月13日 | 阅读数:1274

"aggs": {
        "servers":{
          "terms": {
            "field": "server.keyword",
            "size": 200
          },"aggs": {
            "total": {
            "cardinality": {
                "field": "jsonData.acc.keyword"
            }
        },"count":{
          "filter": {
            "script": {
              "script": "doc['date'].value.toInstant().toEpochMilli() - doc['jsonData.ser_create'].value.toInstant().toEpochMilli() == 86400000 * 14"
            }
          },"aggs": {
            "va": {
              "cardinality": {
                "field": "jsonData.acc.keyword"
              }
            }
          }
        }
          }
        }
    }
上面这个脚本返回结果正常,当上面脚本末的数字为30时 应该有数据的,但是没有.于是我从14 开始向后面插入数据,并测试,开始都符合预期.但是发现25后,聚合结果开始不正常了
已邀请:

zhyusElastic - 90后IT java

赞同来自:

已解决,和java的数据范围一回事儿,在数值后面再拼接1个L强转成long就好了

要回复问题请先登录注册