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

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

庄新翰
2023-03-14

我对elasticsearch查询有一些问题。当我使用查询代码时,它反馈消息[bool]格式错误的查询,预期的是[END_OBJECT],但发现的是[FIELD_NAME]。

{  
   "from":0,
   "size":15,
   "query":{  
      "bool":{  
         "must":[  
            {  
               "multi_match":{  
                  "query":"books",
                  "fields":[  
                     "title^20",
                     "lead^10",
                     "content"
                  ],
                  "type":"phrase"
               }
            }
         ]
      },
      "must":{  
         "match":{  
            "groupid":"599e4b49239cfa0a5a5f189d"
         }
      }
   },
   "sort":[  
      {  
         "times":{  
            "order":"desc"
         }
      }
   ]
}

共有1个答案

车靖琪
2023-03-14

您的第二个must子句位置不正确,它必须位于现有的bool/must查询中。您需要将查询重写为:

{  
   "from":0,
   "size":15,
   "query":{  
      "bool":{  
         "must":[  
            {  
               "multi_match":{  
                  "query":"books",
                  "fields":[  
                     "title^20",
                     "lead^10",
                     "content"
                  ],
                  "type":"phrase"
               }
            },
            {  
               "match":{  
                  "groupid": "599e4b49239cfa0a5a5f189d"
               }
            }
         ]
      }
   },
   "sort":[  
      {  
         "times":{  
            "order":"desc"
         }
      }
   ]
}
 类似资料:
  • 我正在从2X迁移到5X,我的查询失败了。这是我得到的错误: [multi_match]格式错误的查询,预期[END_OBJECT]但找到[FIELD_NAME]“,”line“:32,”col“:13}”,“type”:“parsing_exception”,“reason”:“[multi_match]格式错误的查询,预期[END_OBJECT]但找到[FIELD_NAME]”,“line”:3

  • 问题内容: 我正在尝试使用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

  • 有人可以解释一下这个查询有什么问题吗?我需要将此生成的查询从弹性搜索 2 转换为弹性搜索 6。在ES2中,这个工作得很好,但在ES6中,它给我一个错误:[或]查询格式不正确,查询名称后没有start_object。我迷失在其中。OR是必要的,因为可能有更多的条件比这个。 谢谢。