1

是否可以对日期直方图的结果进行分页?

我有以下示例日期直方图,但使用 "from" : 0, "size" : 10 参数似乎不起作用。

POST _search/
{
    "query" : {
        "match_all" : {}
    },
    "facets" : {
        "histo1" : {                
            "date_histogram" : {
                "value_field": "value.count", 
                "interval" : "10s",
                "field": "_timestamp"
            }
        }
    }
}
4

1 回答 1

2

“from”和“size”参数仅适用于您的查询结果(命中)。无论您选择检索多少条记录,构面都会在整个结果列表中运行。因此,为了在直方图上实现“分页”,你需要限制你的查询。例如,为了检索过去一小时的所有直方图存储桶,您可以简单地向您的查询添加范围查询或过滤器,将结果限制在当前小时。如果_timestamp索引为日期,您可以执行以下操作:

POST _search/
{
    "query" : {
        "filtered": {
            "query": {
                "match_all" : {}
            },
            "filter": {
                "range" : {
                    "_timestamp" : {
                        "gt": "now-1h",
                        "lte": "now"
                    }
                }

            }
        }
    },
    "facets" : {
        "histo1" : {                
            "date_histogram" : {
                "value_field": "value.count", 
                "interval" : "10s",
                "field": "_timestamp"
            }
        }
    }
}
于 2013-11-11T00:30:42.067 回答