2017-03-07 19 views
1

當我試圖組成一個複合布爾查詢有一個模糊必須要求和幾個應reqs與一個通配符,我遇到此錯誤消息。到目前爲止,語法的改變沒有幫助我解決這個問題。預計[END_OBJECT],但獲得[FIELD_NAME],可能太多查詢子句錯誤kibana

查詢:

{ 
    "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%" 
     } 
    } 
} 

<>的文本替換爲我搜索的字符串。

回答

0

你需要在你的bool/should條款來代替querymatch

> { "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%" 
>  } } } 
+0

「查詢」對於你提到的沒有改變的結果,在所有的地方「匹配」的交換:\我已經得到了同樣的錯誤 –

+0

'<...>'之間的字符串有多長? – Val

+0

模糊是5個字符,首先應該是3,第二個是6個字符,並且通配符是4個字符,然後是*通配符 –

相關問題