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
                                }
                            }
                         }
                       }
   }

Есть указатели?

0 ответов

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