code: func (q *BoostingQuery) Source() (interface{}, error) {
  	// {
  	//     "boosting" : {
  	//         "positive" : {
  	//             "term" : {
  	//                 "field1" : "value1"
  	//             }
  	//         },
  	//         "negative" : {
  	//             "term" : {
  	//                 "field2" : "value2"
  	//             }
  	//         },
  	//         "negative_boost" : 0.2
  	//     }
  	// }
  
  	query := make(map[string]interface{})
  
  	boostingClause := make(map[string]interface{})
  	query["boosting"] = boostingClause
  
  	// Negative and positive clause as well as negative boost
  	// are mandatory in the Java client.
  
  	// positive
  	if q.positiveClause != nil {
  		src, err := q.positiveClause.Source()
  		if err != nil {
  			return nil, err
  		}
  		boostingClause["positive"] = src
  	}
  
  	// negative
  	if q.negativeClause != nil {
  		src, err := q.negativeClause.Source()
  		if err != nil {
  			return nil, err
  		}
  		boostingClause["negative"] = src
  	}
  
  	if q.negativeBoost != nil {
  		boostingClause["negative_boost"] = *q.negativeBoost
  	}
  
  	if q.boost != nil {
  		boostingClause["boost"] = *q.boost
  	}
  
  	return query, nil
  }
docs: // Creates the query source for the boosting query.