0

我正在使用下面的查询来获取双精度值,但它忽略了点后的小数。

POST gs011_tasks/_search
{
  "from": 0,
  "size": 0,
  "version": true,
  "aggregations": {
   
        "DB_PLOTS": {
          "terms": {
            "script": {
              "source": "doc['area_count']", // this is double value:3.92922
              "lang": "painless"
            }
         
      }
    }
  }
}
Area stored in elastic search is 3.925022
Expected value from above query is 3.925022
Actual value returned is 3

如果我们需要添加任何配置,您能帮我吗?

4

1 回答 1

0

您需要确保映射area_count中的类型为doublefloat

您在响应中看到 3 的原因可能是因为当前该字段是类型integer,或者long因为您索引的第一个文档的area_count值是整数值(或简单的 0)。

于 2021-07-22T04:13:43.387 回答