【问题标题】:Count the percentage of character fields计算字符字段的百分比
【发布时间】:2017-12-26 17:39:40
【问题描述】:

我想统计指定字段数据的百分比。 这是我的 Restful API:

Restful API:

GET _search
{
"_source": {
"includes": [ "FIRST_SWITCHED","LAST_SWITCHED","IPV4_DST_ADDR","L4_DST_PORT","IPV4_SRC_ADDR","L7_PROTO_NAME","IN_BYTES","IN_PKTS","OUT_BYTES","OUT_PKTS"]
},
"from" : 0, "size" : 10000,
"query": {
"bool": {
"must": [
{
    "match" : { "_index" : "logstash-2017.12.22" }
},
{
    "match_phrase":{"IPV4_SRC_ADDR":"192.168.0.159"}
},

{
  "range" : {
    "LAST_SWITCHED" : {
        "gte" : 1513683600
    }
    }
}

]
}
},
"aggs": {
"IN_PKTS": {
"sum": {
  "field": "IN_PKTS"
}
},
"IN_BYTES": {
"sum": {
  "field": "IN_BYTES"
}
},
"OUT_BYTES": {
"sum": {
  "field": "OUT_BYTES"
}
},
"OUT_PKTS": {
"sum": {
  "field": "OUT_PKTS"
}
},
"percent":{
"significant_terms" : {
        "field" : "L7_PROTO_NAME",
        "percentage":{}
    }},
"protocol" : {
     "terms" : {
         "field" : "PROTOCOL",
         "include" : ["17", "6"]      
        }
},
"Using_port_count" : {                 
    "cardinality" : {
        "field" : "L4_SRC_PORT"
    }
}
}
}

但是有一些错误。 这是错误消息:

错误消息:

"reason": "默认情况下,在文本字段上禁用字段数据。在 [L7_PROTO_NAME] 上设置 fielddata=true 以便通过反转倒排索引将字段数据加载到内存中。请注意,这可能会占用大量内存。或者使用关键字字段。”

提前谢谢你!

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    好的,我找到答案了!

    在此处添加 .keyword 即可运行!

    “字段”:“L7_PROTO_NAME.keyword”

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      相关资源
      最近更新 更多