精英搜索文本字段聚合返回0个存储桶

时间:2018-08-14 18:35:12

标签: elasticsearch elasticsearch-6

我有一个索引,其中一个字段具有以下映射。我没有包含其他字段映射。

    {
    "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?到目前为止,它不返回任何存储桶。

0 个答案:

没有答案