У меня эластичный поисковый индекс, и одно из полей внутри этого документа находится в следующей форме
"TermsDesign": {
"Term": "["Randomized","Placebo Control","Multiple Blind","Treatment","Parallel Assignment","Interventional"]"
},
Я попытался сопоставить свой существующий индекс, используя следующий подход
PUT index_name/_mapping/index_type
{
"properties": {
"TermsDesign": {
"properties": {
"attributes":{
"type":"nested",
"properties":{
"Term": {
"type": "text"
}
}
}
}
}
}
}
И использовал следующий агрегированный запрос, чтобы получить счет
GET index_name/_search
{
"from": 0,
"size": 0,
"query": {
"multi_match": {
"query": "query String,
"type": "phrase"
}
},
"aggs": {
"Design": {
"terms": {
"field": "TermsDesign.Terms.terms.value",
"size": "20"
}
}
}
}
Я получил пустое ведро.Я пытаюсь получить количество значений массива с помощью оператора агрегирования?это правильный подход для получения значений из поля массива