code: func (q *BoolQuery) MarshalJSON() ([]byte, error) {
  	root := make(map[string]interface{})
  
  	if len(q.Filters) > 0 {
  		if len(q.Filters) == 1 {
  			root["filter"] = q.Filters[0]
  		} else {
  			root["filter"] = q.Filters
  		}
  	}
  	return json.Marshal(root)
  }
docs: // MarshalJSON returns the JSON encoding of the boolean query.