1. 程式人生 > >聚合查詢,字段被拆分的解決辦法!

聚合查詢,字段被拆分的解決辦法!

單獨 span 特殊 tex 一段 小時 field aaa 解決

如題:我要聚合查詢的字段是一段網址上下文,如:/aaa/bbb/ccc。此時es在聚合查詢時把我的字段給拆分了!變成了單獨的aaa,bbb,ccc。

解決辦法就是把字段類型改為keyword,不是要修改真實es的字段類型,請看下文。

{
    "query": {
        "bool": {
            "filter": {
                "range": {
                    "@timestamp": {
                        "gte": "now-10h"
                    }
                }
            }
        }
    },
    
"size": "0", "aggregations": { "aggr": { "terms": { "field": "path.keyword", "size": "10" } } } }

請註意看以上,我的業務是:查詢10小時內的網址訪問量top10,網址都有“/”,為了能把整個網址上下文都查出來,要對查詢的字段進行特殊的定義,請看"field": "path.keyword",我真實的字段名是path,path的字段類型是text,只要在聚合查詢時把path改為path.keyword即可解決聚合查詢字段被拆分的問題!

聚合查詢,字段被拆分的解決辦法!