2015-06-10 83 views
0

我的理解是,我可以將aggs應用於查詢範圍。 如果我只運行查詢,它會帶回21K點擊。但是,當我添加aggs時,它會回到空白。我究竟做錯了什麼?ElasticSearch:作用域聚合

謝謝

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { "term": {"app.raw": "ME"} } 
     ,{ "term": {"cat.raw": "IV"} } 
     ,{ "term": {"sub.raw": "Act"} } 
     ] 
    } 
    } 
, 
    "aggs": { 
    "distinct_users": { 
     "cardinality": { 
     "field": "login", 
     "precision_threshold": 1000 
     } 
    } 
    } 
} 
+0

你還可以顯示一些應該匹配的文檔嗎?也可能是你的映射類型。 – Val

+0

我沒有訪問_mapping – epipko

+0

下面是查詢結果的例子:'{ 「花」:3, 「TIMED_OUT」:假的, 「_shards」:{ 「總」:25, 「成功」 :25, 「失敗」:0 }, 「命中」:{ 「總」:1439, 「MAX_SCORE」:11.301117, 「命中」:[ { 「_index」:「β-2015.06。 「\t \t」_type「:」m「\t .......... \t \t \t \t \t ...... 「event_kind」:1 }, \t \t \t \t ............ ... \t \t \t} \t \t} }' – epipko

回答

0

因爲你的要求elasticsearch有一個「AGGS」參數,將不返回「大小」參數默認爲0和查詢結果,只有聚集的結果。

向查詢中最頂端的對象添加一個「size」字段,並返回搜索結果,例如,

{ 
    query: { 
    ... 
    }, 
    size: 42, 
    aggs: { 
    ... 
    } 
} 
+0

我在Postman(Chrome)中運行此搜索。我已經添加了大小:1000,但沒有顯示任何合併。實際上它只顯示10次點擊。我相信這是默認設置。 – epipko