Я заметил, что при использовании 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
]
}
}