解决match/range [match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]

使用es查询数据的时候会遇到提示match/range [match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]错误,这个时候你需要检查一下自己的query条件的大括号,这类问题基本是花括号的位置不正确引起的,例如

body = {"query": {
        "bool": {
            'must': [{"match_phrase": {'***': '***'}},
                     {'match_phrase': {'****': '****'}},
                     {'term': {'**': '**'}}]
        }},
        "from": **,
        "size":**
    }

是正确的,如果是这样就会报上述错误,下面是错误示范

body = {"query": {
        "bool": {
            'must': [{"match_phrase": {'***': '***'}},
                     {'match_phrase': {'****': '****'}},
                     {'term': {'**': '**'}}]
        },
        "from": **,
        "size": **
        }
    }

大家看出区别了吗,就是query的括号位置问题,因为在query里面没有from和size方法。文章来源地址https://uudwc.com/A/pL8e8

原文地址:https://blog.csdn.net/m0_37772653/article/details/124363052

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年06月27日 16:48
下一篇 2023年06月27日 16:48