Моя модель документа ES выглядит следующим образом
"hits": [
{
"_source": {
"variant_group": {
"variant_info": [
{
"name": "Toothpaste",
"inventory": 10
}
],
"type_id": 1365
}
},
]
когда я пытаюсь выполнить этот запрос в сортировке:
{
"_script": {
"type": "number",
"order": "desc",
"script": {
"lang": "groovy",
"inline": "return doc['variant_group.variant_info'].values.any{ it -> it.inventory > 0 }"
}
}
}
возникает следующая ошибка
Не найдено поле для [variable_group.variant_info] при сопоставлении с типами [merchant_variant_group]
Я пытался использовать containsKey
следующим образом:
{
"_script": {
"type": "number",
"order": "desc",
"script": {
"lang": "groovy",
"inline": "return doc.containsKey('variant_group.variant_info') ? 1 : 0"
}
}
}
этот блок скрипта возвращает 0
, а не 1
Однако, если я выполню это:
{
"_script": {
"type": "number",
"order": "desc",
"script": {
"lang": "groovy",
"inline": "return doc.containsKey('variant_group.type_id') ? 1 : 0"
}
}
}
возвращает ожидаемый ответ 1
Есть ли ошибка, которую мне не хватает для типов коллекций, или есть какая-то проблема с моим кодом?
Спасибо!