2017-10-12 41 views
0

Comment puis-je regrouper par année et par mois? Ma requête fonctionne si je pars 1 terme, par exemple, Month. Mais je ne peux pas regrouper par plusieurs termes.Comment regrouper des événements selon plusieurs termes?

GET traffic-data/_search? 
{ 
"size":0, 
"query": { 
    "bool": { 
     "must": [ 
     { "match": { 
      "VehiclePlateNumber": "111" 
     }} 
     ] 
    } }, 
    "aggs" : { 
     "years" : { 
      "terms" : { 
       "field" : "Year" 
      }, 
      "aggs" : { 
       "months" : { "by_month" : { "field" : "Month" } } 
      } 
     } 
    } 
} 

Répondre

0

Je pense que la question de votre question est déjà proche, essayez ceci:

GET traffic-data/_search? 
{ 
    "size": 0, 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "match": { 
      "VehiclePlateNumber": "111" 
      } 
     } 
     ] 
    } 
    }, 
    "aggs": { 
    "years": { 
     "terms": { 
     "field": "Year", 
     "size": 100 
     }, 
     "aggs": { 
     "months": { 
      "terms": { 
      "size": 12, 
      "field": "Month" 
      } 
     } 
     } 
    } 
    } 
} 

Edition - Je suppose votre mois est un champ mot-clé de la chaîne. Faites-moi savoir si ce n'est pas le cas (et s'il vous plaît inclure les cartographies) et je vais réviser.