Elasticsearch Painless Script - Доступ к значению поля ключевого слова
У меня проблемы с доступом и использованием значения поля ключевого слова asticsearch (6.1.1) (вложенного в текстовое поле согласно документам) из безболезненного сценария - он возвращает ноль для значения и 0 для размера, независимо от того, какие данные я иметь в поле.
Скрипт (обрезан для удобства):
if (doc.containsKey('data.encoding.keyword')) {
return doc['data.encoding.keyword'].value;
} else {
return 0;
}
Пример документа:
"_source": {
"data": {
"encoding": "output_test"
}
}
Вывод скрипта:
{
"_index": "my_index",
"_type": "image",
"_id": "436cbf303829be608da0e1ae854f208",
"_score": 1,
"fields": {
"return_script_field": [
null
]
}
}
Отображение:
"data": {
"type": "nested",
"properties": {
"encoding": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 3000
}
}
}
}
}
Есть указатели?