2017-02-09 4 views
0

Elasticsearch 5.2を使用して、約20kジオポイントを保存しました。ジオポイントGET Limit

Googleマップに表示するためにそれらのすべてを照会する必要があります。マニュアルに指定されているようしかし、制限サイズは(私はエラーResult window is too large, from + size must be less than or equal to: [10000] but was [20000]を得る10Kであるように思わ

すべての私のポイントを取得するための回避策はあります

私が使用したクエリは次のとおりです。?

{ 
    "size":10000, 
    "_source": ["geo"], 
    "query": { 
     "bool": { 
      "must" : [ 
       { "term" : { myId" : 1234 } }, 
       { 
        "range" :{ 
         "@timestamp" : { 
          "gte" : "now-10m" 
         } 
        } 
       } 
      ] 
     } 
    } 
} 
+0

あなたは[スクロールとスキャンAPI](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-scroll.html)をしてみてくださいましたか?これにより、すべての結果が得られますが、1つのクエリには反映されません。 – pratikvasa

+0

私はこのスクロールAPIについて知らなかった。私は一見を与えるだろう、ありがとう! – Romain

答えて

0

あなたはscroll and scan API

それは2つの段階で行うことができます。

初段Tに使用することができます大きな結果セットを取得するには検索クエリをスクロールする

POST /index_name/type_name/_search?scroll=1m 
{ 
    "size": 100, 
    "query": { 
     "match_all": {} 
    } 
} 

スクロールIDを返します。スクロールIDを使用すると、毎回100(サイズ)の結果を得るために次の呼び出しを繰り返し呼び出すことができます。

POST /_search/scroll 
{ 
    "scroll" : "1m", 
    "scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==" 
}