2017-06-01 86 views
3

我正在我的Kibana控制檯中的以下GET查詢,出於某種原因,我在響應窗口得到一個錯誤,如下所示:畸形查詢,預計END_OBJECT卻發現FIELD_NAME錯誤Kibana(彈性搜索)

// error

[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME] 

任何人都可以提出爲什麼我不能在'應該'部分使用多個匹配塊嗎?

//反應 - 如果我拿出其中一個匹配塊它的作品?

{ 
    "error": { 
    "root_cause": [ 
    { 
     "type": "parsing_exception", 
     "reason": "[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]", 
     "line": 9, 
     "col": 13 
    } 
    ], 
    "type": "parsing_exception", 
    "reason": "[match] malformed query, expected [END_OBJECT] but found [FIELD_NAME]", 
    "line": 9, 
    "col": 13 
    }, 
    "status": 400 
} 

//我的查詢

GET _search 
    { 
    "query": { 
     "bool": { 
     "should": [ 
     { 
      "match": { 
      "text": "facebook advice" 
     }, 
      "match": { 
      "profile": "facebook advice" 
     } 
     } 
    ], 
    "minimum_number_should_match": 1, 
    "filter": { 
     "term": { 
     "accountid": "22" 
     } 
    } 
    } 
} 

回答

8

您所查詢的格式不正確。改爲這樣寫:

GET _search 
{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "match": { 
      "text": "facebook advice" 
      } 
     }, 
     { 
      "match": { 
      "profile": "facebook advice" 
      } 
     } 
     ], 
     "minimum_number_should_match": 1, 
     "filter": { 
     "term": { 
      "accountid": "22" 
     } 
     } 
    } 
    } 
}