2017-06-28 39 views
0

这里是我的MySQL查询:如何在elasticsearch中通过查询编写组?

SELECT * FROM `provider` WHERE `active` = 'Y' GROUP BY `OfferID`, `offerName`, `duration`, `price`, `downloadSpeed`, `numChannels` LIMIT 10; 

现在转换成Elasticsearch查询,它的工作原理,

GET /promoapp_version_1_1/providerofferpromotionmaster/_search` "query": { 
      "bool": { 
     "must": [ 

     { "match": { "active": "Y" } } 
     ] 
    }, "aggs": { 
"group_by_val": { 
    "terms": { 
    "field": "offername.keyword" 
    }, 

    "aggs": { 
    "group_by_price": { 
     "terms": { 
     "field": "price" 
     }, 

     "aggs":{ 
      "group_by_downloadspeed":{ 
       "terms":{ 
        "field":"downloadspeed" 
       }, 
      "aggs":{ 
       "group_by_duration":{ 
        "terms":{ 
         "field":"duration" 
        } 
       } 
      } 
      } 
     } 
    } 
    } 
} 
} 
}` 

,以及如何编写由多个字段组(offerName ,时间,价格, downloadSpeed , numChannels )in ES

回答

0

你想在这里使用的是sum aggregation metricsearch from elasticsearch。聚合基本上将您的数据分组到相似组的桶中。

+0

我试过聚合,聚合给予特定字段中的计数数目是在查询结果之后。 –

+0

你能否详细说明你的评论? –

+0

我更新我的查询,我在ES尝试,请参阅上面的查询 –