我使用Elasticsearch PHP客户端运行以下查询。
$queryString = "";
if ( !empty($ids)) {
$queryString = "an.raw:".implode(" OR an.raw:", $ids);
}
$reportParams['index'] = "my_index";
$reportParams['type'] = "my_type";
$reportParams['size'] = 100000;
$reportParams['body']['aggs'] = array(
"ans"=>array(
"terms"=>array(
"field"=>"an.raw",
"size"=>0
)
)
);
$reportParams['body']['query'] = array(
"filtered" => array(
"query" => array(
"query_string" => array(
"default_field" => "an",
"query" =>$queryString
)
)
)
);
$reportParams['body']['filter'] = array(
"range" => array(
"time" => array(
"gte" => $start,
"lte" => $end
)
)
);
$reportResponse = $this->client->search($reportParams);
我在循环中运行它,每次查询字符串和日期都不同。但是我总是得到45桶。是否有任何最大限制设置为45并且限制为ti 45?或者程序中的任何错误?
答案 0 :(得分:0)
您已将size
设置为0
,因此您应该获得所有适用的存储分区。 45桶没有这样的限制。尝试通过检查术语聚合桶的关键值来调试查询。