【发布时间】:2015-05-10 06:07:13
【问题描述】:
Elastic-search 有from/size 参数,这个size 默认是10。如何在不分页的情况下得到所有结果?
【问题讨论】:
Elastic-search 有from/size 参数,这个size 默认是10。如何在不分页的情况下得到所有结果?
【问题讨论】:
首先获取结果计数。你可以通过count api得到它。将 n 放入 QueryBuilder 的以下方法中。
CountResponse response = client.prepareCount("test")
.setQuery(termQuery("_type", "type1"))
.execute()
.actionGet();
然后调用
n=response.getCount();
你可以使用 setSize(n)。
对于非 java 使用,像这个 curl 请求。
curl -XGET 'http://localhost:9200/twitter/tweet/_count' -d '
{
"query" : {
"term" : { "user" : "kimchy" }
}
}'
可以在此链接上找到更多信息。 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-count.html
【讨论】:
size=all或size=none这样的单步解决方案。