2014-03-26 170 views
0

後我有一組保存在我的elasticsearch與像搜索地理地點:elasticsearch空的結果過濾

{ 
    "query" : { 
     "match_all" : {} 
    } 
} 

我得到充分的結果,一切工作正確。 ,但是隻要我開始限制搜索到任何區域(即使是-100,-100到100,100象下面這樣:

{ 
    "query" : { 
     "filtered" : { 
      "query" : { 
       "match_all" : {} 
      }, 
      "filter" : { 
       "geo_bounding_box" : { 
        "location" : { 
         "top_left" : "-100, -100", 
         "bottom_right" : "100, 100" 
        } 
       } 
      } 
     } 
    } 
} 

我得到的迴應是:

stdClass Object 
(
    [took] => 21 
    [timed_out] => 
    [_shards] => stdClass Object 
     (
      [total] => 4 
      [successful] => 4 
      [failed] => 0 
     ) 

    [hits] => stdClass Object 
     (
      [total] => 0 
      [max_score] => 
      [hits] => Array 
       (
       ) 

     ) 

) 

我跑出來的關於如何解決這個如此的想法,任何人有任何有益的建議

回答

0

我發現sollution到這一點,這是我得到它的工作:

{ 
    "query" : { 
     "filtered" : { 
      "query" : { 
"match_all" : {} 
      }, 
      "filter" : { 
       "geo_polygon" : { 
        "location" : { 
         "points" : [ 
          "10,10", 
          "20, 10", 
          "20, 20", 
          "10, 20" 
         ] 
        } 
       } 
      } 
     } 
    } 
} 
1

,您僅試圖做?

"query": { match_all: {} }, 
"filter" : { 
    "geo_bounding_box" : { 
    "location" : { 
    "top_left" : "-100, -100", 
     "bottom_right" : "100, 100" 
    } 
    } 
} 
+0

感謝您的答覆,這給了我「沒有查詢[過濾器]註冊」 – Touchpad

+0

對不起,更新我的回答 –

+0

回空洞的結果,但是這確實導致了我的一種溶劑,我會在下面發佈,謝謝你的幫助,雖然 – Touchpad