json - 预期[END_OBJECT],但得到了[FIELD_NAME],在kibana中可能有太多查询子句错误

标签 json elasticsearch kibana

当我试图包含一个具有模糊的必须要求和几个应有的要求且其中一个是通配符的复合 bool(boolean) 查询时,我遇到了此错误消息。到目前为止,语法上的任何更改都没有帮助我解决此问题。

查询:

{
    "query": {
        "bool": {
            "must": {
                "fuzzy": {
                    "message": "<fuzzy string>",
                    "fuzziness": "auto"
                }
            },
          "should": [
            { "query": { "message": "<string>" } },
            { "query": { "message": "<string>" } },
            { "wildcard": 
                {
                    "query": { "message": "<partial string*>"}
                } 
            }
          ],
          "minimum_should_match": "50%"
        }
    } 
}
<>中的文本替换为我搜索的字符串。

最佳答案

您需要在query子句中用match替换bool/should:

> {   "query": {
>      "bool": {
>       "must": {
>         "fuzzy": {
>           "message": "<fuzzy string>",
>           "fuzziness": "auto"
>         }
>       },
>       "should": [
>         {"match": {"message": "<string>"}},                        <-- here
>         {"match": {"message": "<string>"}},                        <-- and here
>         {"wildcard": {"query": {"message": "<partial string*>"}}}
>       ],
>       "minimum_should_match": "50%"
>     }   } }

关于json - 预期[END_OBJECT],但得到了[FIELD_NAME],在kibana中可能有太多查询子句错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42647570/

相关文章:

javascript - 使用 Grunt 从单个 Jade 模板创建多个 HTML 文件

java - JVM 中嵌入的 ElasticSearch : wait until ready

elasticsearch - 缓冲区刷新花费的时间比slow_flush_log_threshold长

java - 如何在 Elasticsearch 中使用术语查询嵌套的json对象/字段?

elasticsearch - 无法在Hive外部表中查询日期字段

将 NFS 存储用于 Elasticsearch 时的性能

elasticsearch - 将现有集合嵌套在对象内

json - 分页 jsonschema/hyperschema 时保留查询参数

ios - 我在 youtube json 视频列表解析中找不到我的错..我的错在哪里?

c# - 如何通过 JSON 请求从 fiddler 调用 wcf restful 服务?