Как отметил @luqmaan в комментариях, сообщает, что фильтр существует
не отфильтровывает пустые строки, поскольку они считаются ненулевыми значениями .
Поэтому, добавляя к ответу @ DrTech, чтобы эффективно фильтровать нулевые и пустые значения строк, вы должны использовать что-то вроде этого:
{
"query" : {
"constant_score" : {
"filter" : {
"bool": {
"must": {"exists": {"field": ""}},
"must_not": {"term": {"": ""}}
}
}
}
}
}