显著词项聚合

significant_terms 聚合允许您在索引中数据的其余部分中,发现过滤子集内不寻常或有趣的词项出现情况。

前景集是您过滤的文档集。背景集是索引中所有文档的集合。 significant_terms 聚合检查前景集中的所有文档,并相对于背景集中的文档,找出显著出现的分数。

在示例 Web 日志数据中,每个文档都有一个包含访问者 user-agent 的字段。此示例搜索来自 iOS 操作系统的所有请求。对此前景集执行常规的 terms 聚合会返回 Firefox,因为它在此桶内拥有的文档数量最多。另一方面,significant_terms 聚合会返回 Internet Explorer,因为与背景集相比,IE 在前景集中的出现次数显著更高。

GET opensearch_dashboards_sample_data_logs/_search
{
  "size": 0,
  "query": {
    "terms": {
      "machine.os.keyword": [
        "ios"
      ]
    }
  },
  "aggs": {
    "significant_response_codes": {
      "significant_terms": {
        "field": "agent.keyword"
      }
    }
  }
}

示例响应

...
"aggregations" : {
  "significant_response_codes" : {
    "doc_count" : 2737,
    "bg_count" : 14074,
    "buckets" : [
      {
        "key" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)",
        "doc_count" : 818,
        "score" : 0.01462731514608217,
        "bg_count" : 4010
      },
      {
        "key" : "Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1",
        "doc_count" : 1067,
        "score" : 0.009062566630410223,
        "bg_count" : 5362
      }
    ]
  }
 }
}

如果 significant_terms 聚合未返回任何结果,则可能是您没有使用查询过滤结果。或者,前景集中词项的分布可能与背景集相同,这意味着前景集中没有任何异常情况。

背景词项频率统计信息的默认来源是整个索引。您可以使用背景过滤器缩小此范围,以便更集中地进行统计。