ElasticSearch 脚本查询忽略双精度值中的小数
ElasticSearch Script query is ignoring decimals from double value
我正在使用下面的查询来获取双精度值,但它忽略了点后的小数。
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
如果我们需要添加任何配置,你能帮我吗?
您需要确保在您的映射中 area_count
是 double
或 float
类型。
您在响应中看到 3 的原因可能是因为当前该字段的类型为 integer
或 long
,因为您索引的第一个文档有一个 area_count
值是一个整数值(或简单地为 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
如果我们需要添加任何配置,你能帮我吗?
您需要确保在您的映射中 area_count
是 double
或 float
类型。
您在响应中看到 3 的原因可能是因为当前该字段的类型为 integer
或 long
,因为您索引的第一个文档有一个 area_count
值是一个整数值(或简单地为 0)。