没有为[]注册查询



我需要将missing过滤器添加到ES查询bool。我尝试直接添加到bool,得到了no query registered for [missing]。然后添加filter,得到no query registered for [filter]

我看到了许多StackOverflow问题,在许多这样的作品中。查询示例:

{
    "bool": {
        "must": [{
            "missing": {
                "field": "firstname"
            }
        }]
    }
}

ES 1.5.2版

看起来缺少的过滤器正在弹性5.x中删除。我被告知不要使用它:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/query-dsl-exists-query.html#_literal_missing_literal_query

改为

GET /_search
{
    "query": {
        "bool": {
            "must_not": {
                "exists": {
                    "field": "firstname"
                }
            }
        }
    }
}

最新更新