Запрос скрипта ElasticSearch игнорирует десятичные дроби из двойного значения

Я использую запрос ниже для получения двойного значения, но он игнорирует десятичные знаки после точки.

      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

Не могли бы вы помочь мне, если нам нужно добавить какую-либо конфигурацию?

1 ответ

Вам необходимо убедиться, что в вашем отображении есть тип double или же float.

Причина, по которой вы видите 3 в ответе, вероятно, связана с тем, что в настоящее время это поле имеет тип integer или же long потому что в первом проиндексированном документе был area_count значение, которое было целым числом (или просто 0).

Другие вопросы по тегам