script_fields всегда возвращает массив. как вернуть объект или простой тип данных? - PullRequest
0 голосов
/ 31 августа 2018

Я заметил, что при использовании script_fields он всегда возвращает массив значений, которые должны быть возвращены. Интересно, почему это происходит, и возможно ли просто вернуть тип данных, не являющийся массивом, как объект или bool?

Пример для иллюстрации (взято из Интернета)

GET sat/_search

{
  "script_fields": {
    "some_scores": {
      "script": {
          "lang": "painless",
        "inline": "def scores = 0; scores = doc['AvgScrRead'].value + doc['AvgScrWrit'].value; return scores;" <--- we are returning a number here!
      }
    }
  }
}

Результат:

{
    "_index": "sat",
    "_type": "scores",
    "_id": "AV3CYR8JFgEfgdUCQSON",
    "_score": 1,
    "_source": {
        "cds": 1611760130062,
        "rtype": "S",
        "sname": "American High",
        "dname": "Fremont Unified",
        "cname": "Alameda",
        "enroll12": 444,
        "NumTstTakr": 298,
        "AvgScrRead": 576,
        "AvgScrMath": 610,
        "AvgScrWrit": 576,
        "NumGE1500": 229,
        "PctGE1500": 76.85,
        "year": 1516
    },
    "fields": {
        "some_scores": [ <----- here it's an array
            1152
        ]
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...