Мое отображение:
"properties": {
"user": {
"type": "nested",
"properties": {
"id": {
"type": "integer"
},
"is_active": {
"type": "boolean",
"null_value": false
},
"username": {
"type": "string"
}
}
},
Я хочу получить все документы, в которых нет поля user
.
Я попытался:
GET /index/type/_search
{
"query": {
"bool": {
"must_not": [
{
"exists": {
"field": "user"
}
}
]
}
}
}
Который возвращает все документы. На основе ElasticSearch 2.x существует фильтр для вложенного поля не работает, я также пробовал:
GET /index/type/_search
{
"query": {
"nested": {
"path": "user",
"query": {
"bool": {
"must_not": [
{
"exists": {
"field": "user"
}
}
]
}
}
}
}
}
Который возвращает 0 документов.
Каков правильный запрос, чтобы получить все документы, в которых отсутствует поле user
?
user.id
? Если в родительском документе нет поляuser
, то в нем также не будет поляuser.id
. - person Val   schedule 21.12.2016