Geo Points GET 限制

Geo Points GET Limit

使用 Elasticsearch 5.2,我存储了大约 20k 个地理点。

我想查询所有这些以在 Google 地图中显示它们。但是,正如文档中指定的那样,限制大小似乎是 10k(我收到错误 Result window is too large, from + size must be less than or equal to: [10000] but was [20000].

是否有解决方法来获得我的所有积分?

我使用的查询是:

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

要获得较大的结果集,您可以使用 scroll and scan api

可以分两步完成。

首先-为您的搜索查询添加一个卷轴

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

这将 return 滚动 ID。使用滚动 ID,您可以重复调用以下命令,每次都能获得 100(size) 个结果。

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