我有一个索引,其中一个字段具有以下映射。我没有包含其他字段映射。
{
"rcpt-index-2018-07-02-1": {
"mappings": {
"imageremovalrcpt": {
"properties": {
"message_id": {
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
},
}}
我想在message_id字段上进行汇总,因此message_id字段具有一个名为type的名为 raw 的字段。我想使用以下查询在message_id字段上进行汇总,该字段应将minimum_should_match条件匹配为1,并在gte和lte的时间限制内进行过滤。
{
'index' => 'rcpt-index-2018-07-02-1',
'type' => 'imageremovalrcpt',
'body' => array(
'query' => array(
'bool' => array(
'should' => array(
array('match' => array('is_blacklisted' => false))
),
'minimum_should_match' => 1,
'filter' => array(
'range' => array(
'timestamp' => array(
'gte' => $start_timestamp,
'lte' => $end_timestamp,
),
),
),
),
),
'aggs' => array(
'message_id' => array(
'terms' => array(
'field' => 'message_id.raw'
),
),
)
)
);
它返回以下结果:
{
"took": 253,
"timed_out": false,
"_shards": {
"total": 38,
"successful": 38,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 158992,
"max_score": 0.52412844,
"hits": [
...
]
},
"aggregations": {
"message_id": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
}
}
}
我隐藏了点击部分。
我上面的映射是否正确,聚合才能在text字段上工作:message_id?到目前为止,它不返回任何存储桶。