我正在使用elasticsearch dsl python库连接到elasticsearch并进行聚合。在
我遵守规则
search.aggs.bucket('per_date', 'terms', field='date')\
.bucket('response_time_percentile', 'percentiles', field='total_time',
percents=percentiles, hdr={"number_of_significant_value_digits": 1})
response = search.execute()
这很好,但在response.aggregations.per_ts.buckets
中只返回10个结果
我要所有的结果
我用size=0
尝试过一种解决方案,如this question中所述
但这会导致错误
TransportError(400, u'parsing_exception', u'[terms] failed to parse field [size]')
我也有同样的问题。我终于找到了解决办法:
在
2.x
之后,size=0
对于所有的bucket结果将不再有效,请参考此thread。在我的示例中,我将大小设置为999999。你可以根据你的情况选择一个大的数字。在希望这有帮助。在
你应该读一下documentation。在
所以在你的情况下,应该是这样的:
相关问题 更多 >
编程相关推荐