code: func (c *Connection) Update(m map[string]interface{}, commit bool) (*UpdateResponse, error) {
  
  	// encode "json" to a byte array & check
  	payload, err := JSONToBytes(m)
  	if err != nil {
  		return nil, err
  	}
  
  	// perform request
  	resp, err := HTTPPost(
  		SolrUpdateString(c, commit),
  		[][]string{{"Content-Type", "application/json"}},
  		payload)
  
  	if err != nil {
  		return nil, err
  	}
  
  	// decode the response & check
  	decoded, err := BytesToJSON(&resp)
  	if err != nil {
  		return nil, err
  	}
  
  	error, report := SolrErrorResponse((*decoded).(map[string]interface{}))
  	if error {
  		return nil, fmt.Errorf(fmt.Sprintf("%s", *report))
  	}
  
  	return &UpdateResponse{true}, nil
  }
docs: /*
   * Performs a Solr Update query against a given update document
   * specified in a map[string]interface{} type
   * NOTE: Requires JSON updates to be enabled, see;
   * http://wiki.apache.org/solr/UpdateJSON
   * FUTURE: Will ask for solr version details in Connection and
   * act appropriately
   */