2016-09-30 62 views
0

我正在使用elasticsearch在我的應用程序中搜索某些記錄。在elasticsearch中通過null值搜索時出現異常

filtered: { 
      query: { 
       query_string: { 
        query: "*#{term}*", 
        fields: ["name"] 
       } 
      }, 
      filter: { 
       bool: { 
        must: [ 
         {term: {store_id: store_id}}, 
         {match: {dealer: dealer}} 
        ] 
       } 
      } 
     } 

當某些參數是不存在,並且零值被傳遞爲store_iddealer。 Ii給出以下錯誤:{"type":"query_parsing_exception","reason":"No text specified for text query" 我想如果store_iddealer是零,那麼它應顯示與查詢匹配的所有結果。 elasticsearch有可能嗎?

回答

0

我想說,你不能用匹配或術語查詢來做到這一點。

您可以使用通配符或正則表達式查詢來啓用通配符搜索,但我建議您在應用程序中處理此問題。

即,當您的最終用戶填寫輸入「store_id」或「經銷商」時,您將查詢的必要條款附加到該值。 否則,你不會,你會得到整個索引的搜索。

相關問題