Агрегирование по вложенному полю, fielddata = true для атрибута вложенного поля - PullRequest
1 голос
/ 21 ноября 2019

У меня есть json в этом формате

{
"id":1,
"name":"CBG",
"studDetails":{
"address":"Banglore"
}
}

Попытка агрегировать на studDetails.address при получении этой ошибки

Fielddata is disabled on text fields by default. Set fielddata=true on [studDetails.address].

Попытка ниже команды curl установить значение true, но не работает.

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/student -d '{
  "mappings": {
    "type": {
      "properties": {
        "studDetails.address": {
          "type": "keyword",
          "fielddata": true
        }
      }
    }
  }
}'

1 Ответ

0 голосов
/ 21 ноября 2019

Извините, я пропустил полный путь в API агрегации, 'student.studDetails.address'

 srb.addAggregation(AggregationBuilders.nested("agg1", "studDetails").
                subAggregation(AggregationBuilders.terms("agg2").field("student.studDetails.address")));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...