PUT /school
{
"mappings": {
"properties": {
"name":{
"type": "text"
},
"classes":{
"type": "nested",
"properties": {
"name":{
"type":"text"
},
"students":{
"type": "nested",
"properties": {
"name":{
"type":"text"
}
}
}
}
}
}
}
}
PUT /school/_doc/1
{
"name":"gdpu",
"classes":[
{
"name":"c1",
"students":[
{
"name":"s1"
},
{
"name":"s2"
}
]
}
]
}
PUT /school/_doc/1
{
"name":"gdpu",
"classes":[
{
"name":"c1",
"students":[
{
"name":"s1"
},
{
"name":"s2"
}
]
},
{
"name":"c2",
"students":[
]
}
]
}
GET /school/_search
{
"query": {
"nested": {
"path": "classes",
"query": {
"nested": {
"path": "classes.students",
"query": {
"match": {
"classes.students.name": "s2"
}
}
}
}
}
}
}