Мне нравится запускать агрегирование вложенных терминов в строковом поле, которое находится внутри объекта.
Обычно я использую этот запрос
"terms": {
"field": "fieldname.keyword"
}
, чтобы включить fielddata
Но я не могу сделать это для такого вложенного документа, как этот
{
"nested": {
"path": "objectField"
},
"aggs": {
"allmyaggs": {
"terms": {
"field": "objectField.fieldName.keyword"
}
}
}
}
Приведенный выше запрос просто возвращает массив пустых сегментов
Есть ли способ сделать это без включения поля? данные по умолчанию при отображении индекса. Так как это займет большую кучу памяти, и я уже загрузил огромные данные без нее
отображение документа
{
"mappings": {
"properties": {
"productname": {
"type": "nested",
"properties": {
"productlineseqno": {
"type": "text"
},
"invoiceitemname": {
"type": "text"
},
"productlinename": {
"type": "text"
},
"productlinedescription": {
"type": "text"
},
"isprescribable": {
"type": "boolean"
},
"iscontrolleddrug": {
"type": "boolean"
}
}
}
образец документа
{
"productname": [
{
"productlineseqno": "1.58",
"iscontrolleddrug": "false",
"productlinename": "Consultations",
"productlinedescription": "Consultations",
"isprescribable": "false",
"invoiceitemname": "invoice name"
}
]
}
Исправлено
Изменяя отображение для включения данных поля