当前位置: 首页 > 知识库问答 >
问题:

multi_match查询格式错误,应为END_OBJECT,但找到了FIELD_NAME

桂和同
2023-03-14
{
"from":0,
"size":1000,
   "query": {
      "bool": {
         "must": [
         {
               "query": {

"multi_match": {
     "query": "shampoo",
     "fields": ["summary.exact", "promotionid.basic"],
     "type": "cross_fields",
     "minimum_should_match" : "100%"
}
}
},
       {
        "bool": {
                    "should": [
                        {"term": {"is_non_ecomm": "1"}}                            
                    ],
                    "must": [
                       {"term": {
                          "iscouponactive": "1"
                       }}
                    ]
                }
                }
     ]

      }
   }
}

我正在从2X迁移到5X,我的查询失败了。这是我得到的错误:

[multi_match]格式错误的查询,预期[END_OBJECT]但找到[FIELD_NAME]“,”line“:32,”col“:13}”,“type”:“parsing_exception”,“reason”:“[multi_match]格式错误的查询,预期[END_OBJECT]但找到[FIELD_NAME]”,“line”:32,“col”:13}

共有1个答案

段干茂实
2023-03-14

您不需要围绕multi_match约束添加query:

{
  "from": 0,
  "size": 1000,
  "query": {
    "bool": {
      "must": [
        {
          "multi_match": {
            "query": "shampoo",
            "fields": [
              "summary.exact",
              "promotionid.basic"
            ],
            "type": "cross_fields",
            "minimum_should_match": "100%"
          }
        },
        {
          "bool": {
            "should": [
              {
                "term": {
                  "is_non_ecomm": "1"
                }
              }
            ],
            "must": [
              {
                "term": {
                  "iscouponactive": "1"
                }
              }
            ]
          }
        }
      ]
    }
  }
}
 类似资料:
  • 我对elasticsearch查询有一些问题。当我使用查询代码时,它反馈消息[bool]格式错误的查询,预期的是[END_OBJECT],但发现的是[FIELD_NAME]。

  • 问题内容: 我正在尝试使用elasticsearch和ruby-on- rails建立一个现有项目。我可以启动并运行该项目,但是elasticsearch查询为我返回了各种错误消息,而我的同事都没有: 这显然使我相信这与我的设置有关。我已经安装了它们的相同版本(2.4),但是即使项目附带了setup命令,也是如此: 给我超时错误。我已经检查并且服务正在运行。如果我在此方面呆了2天,将对我的设置有什

  • 我试图在Elasticsearch中创建一个具有以下条件的手表: 字段“ht”必须小于100 字段“SV”不能是“Tier1”,字段“RV”可以是其他任何内容。 字段“SV”不得为“Tier2”,字段“RV”不得为“Red”。 这是我此刻的身体搜索,但它返回: “[term]格式错误的查询,应为[END_OBJECT],但找到[FIELD_NAME]”: 你能帮帮我吗?谢了。

  • 问题内容: 我正在针对AWS Elasticsearch 5.1运行此查询,并收到格式错误的查询错误。这是请求的正文。我基本上只是在检查时间范围内是否存在该字段。 问题答案: 第二条陈述不正确:

  • 我正在为我的spring项目构建一个本机查询。有人知道这是什么问题吗? org.hibernate.hql.internal.ast.QuerySyntaxException:需要IDENT,在第1行第348列附近找到“:”[选择e.first_name作为第一名,e.last_na me作为最后一名,jh.start_date作为开始日期,jh.end_date作为结束日期,j.job_titl

  • 在ElasticSearch7.x中,我使用一个具有同义词过滤器的分析器对数据字段进行了索引。但是,为了支持增强“完全”匹配数据字段中的查询词的查询,而不是匹配数据中的同义词的查询,我将使用。 为此,对于我想要精确匹配的查询,我想提供一个在其中没有同义词过滤器的分析器。这可以通过来完成。但是,我的主要查询是查询,用于在所有需要的字段上搜索这些术语(并且具有不同的重要性(boosting))。 似乎