Как запросить индекс AWS OpenSearch с помощью визуализации Vega?
У меня есть данные в индексе в формате JSON, и я хочу использовать визуализацию Vega для их отображения (полная Vega, а не Vega-Lite). Однако я обнаружил, что каждый пример предназначен для Vega-Lite, и все, что они пытаются сделать, это вставить свои данные в график временных рядов. Я хотел бы сделать что-то другое, и поэтому я нахожусь в тупике.
Образец документа в моем индексе:
{
"_index": "myindex",
"_type": "doc",
"_id": "abc123",
"_version": 1,
"_score": null,
"timestamp": "2022-05-23T07:43:21.123Z",
"_source": {
"fruit": [{
"amount": 15,
"type": {
"grower_id": 47,
"grower_country": "US",
"name": "apple"
}
},
{
"amount": 43,
"type": {
"grower_id": 47,
"grower_country": "CAN",
"name": "apple"
}
},
{
"amount": 7,
"type": {
"grower_id": 23,
"grower_country": "US",
"name": "orange"
}
},
{
"amount": 14,
"type": {
"grower_id": 23,
"grower_country": "CAN",
"name": "orange"
}
}
]
}
}
Что я хочу сделать, так это создать 2 текстовые метки на визуализации, которые будут отображать сумму значений следующим образом.
Symbol1 = сумма всех яблок (т.е. всех яблок, выращенных в США и Канаде вместе взятых)
Symbol2 = сумма всех апельсинов (т.е. всех апельсинов, выращенных в США и Канаде вместе взятых)
Я пробовал следующий элемент данных без успеха:
"data": [{
"name": "mydata",
"url": {
"index": "myindex",
"body": {
"query": "fruit.type.name:'apple'",
},
}
}
]
Однако очевидно, что этот запрос даже не является правильным. Что я хочу сделать, так это вернуть таблицу значений, а затем иметь возможность использовать эти значения в своих метках в качестве значений для управления поведением или цветом метки. Мне удобно делать последнее в Vega, но я застрял с запросом данных.
Я прочитал и просмотрел так много руководств, посвященных Vega-Lite, но я еще не нашел ни одного рабочего примера для Vega на AWS OpenSearch.
Кто-нибудь может помочь?