code: def __get_query_agg_terms(cls, field, agg_id=None):
          
          if not agg_id:
              agg_id = cls.AGGREGATION_ID
          query_agg = A("terms", field=field, size=cls.AGG_SIZE, order={"_count": "desc"})
          return (agg_id, query_agg)
docs: Create a es_dsl aggregation object based on a term.
  
          :param field: field to be used to aggregate
          :return: a tuple with the aggregation id and es_dsl aggregation object. Ex:
                  {
                      "terms": {
                          "field": <field>,
                          "size:": <size>,
                          "order":{
                              "_count":"desc"
                      }
                  }
          Which will then be used as Search.aggs.bucket(agg_id, query_agg) method
          to add aggregations to the es_dsl Search object