使用ElasticSearch5.2,我存储了大约20k个Geo点。
我想查询所有这些信息,以便在谷歌地图中显示它们。但是,正如文档中所指定的,限制大小似乎是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"
}
}
}
]
}
}
}发布于 2017-02-09 14:22:59
要获得一个大的结果集,可以使用滚动扫描 api。
这可以分两步完成。
首先-向搜索查询添加滚动
POST /index_name/type_name/_search?scroll=1m
{
"size": 100,
"query": {
"match_all": {}
}
}这将返回一个滚动id。使用滚动id,您可以重复调用以下命令以获得每次100(大小)的结果。
POST /_search/scroll
{
"scroll" : "1m",
"scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ=="
}https://stackoverflow.com/questions/42137846
复制相似问题