Я PUT
отправляю следующий документ в ElasticSearch:
{
"_rootId": "327d3aba-4f7c-4abb-9ff3-b1608c354c7c",
"_docId": "ID_3",
"_ver": 0,
"val_labels": [
"x1",
"x1",
"x1"
]
}
Затем я GET
следующий запрос, который использует для сортировки скрипт painless
:
{
"query": {
"bool": {
"must": [
{
"term": {
"_rootId": "77394e08-32be-4611-bbf7-818dfe4bc853"
}
}
]
}
},
"sort": [
{
"_script": {
"order": "desc",
"type": "string",
"script": {
"lang": "painless",
"source": "return doc['val_labels'].toString()"
}
}
}
]
}
И вот ответ, который я получаю:
{
"took": 30,
"timed_out": false,
"_shards": {
"total": 12,
"successful": 12,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": null,
"hits": [
{
"_index": "my-index",
"_type": "views",
"_id": "77394e08-32be-4611-bbf7-818dfe4bc853.ID_3",
"_score": null,
"_source": {
"_rootId": "77394e08-32be-4611-bbf7-818dfe4bc853",
"_docId": "ID_3",
"_ver": 0,
"val_labels": [
"x1",
"x1",
"x1"
]
},
"sort": [
"[x1]"
]
}
]
}
}
Странно то, что поле val_labels
в ответе показывает ["x1", "x1", "x1"]
(как и ожидалось, см. Вставленный объект), тогда как sort
поле показывает только одно x1
значение.
Есть ли какое-либо объяснение этому?