Да, вполне нормально иметь несколько уровней объектов.
Однако ваш текущий документ JSON недействителен.Я предполагаю, что это должно быть больше так.
{
"account_number": 0,
"balance": 16623,
"firstname": "Bradshaw",
"lastname": "Mckenzie",
"age": 29,
"gender": "F",
"address": "244 Columbus Place",
"employer": "Euron",
"email": {
"personal": "bradshawmckenzie@euron.com",
"work": "bradshawmckenzie@euron.com"
},
"city": "Hobucken",
"state": "CO"
}
Чтобы получить доступ к внутренним объектам, вы можете использовать точечную запись.Например:
GET my-index/_search
{
"query": {
"match": {
"email.personal": "bradshawmckenzie@euron.com"
}
}
}