显著词项聚合
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 聚合未返回任何结果,则可能是您没有使用查询过滤结果。或者,前景集中词项的分布可能与背景集相同,这意味着前景集中没有任何异常情况。
背景词项频率统计信息的默认来源是整个索引。您可以使用背景过滤器缩小此范围,以便更集中地进行统计。