code: func (c *Conn) Exists(index string, _type string, id string, args map[string]interface{}) (BaseResponse, error) {
  	var response map[string]interface{}
  	var body []byte
  	var url string
  	var retval BaseResponse
  	var httpStatusCode int
  
  	query, err := Escape(args)
  	if err != nil {
  		return retval, err
  	}
  
  	if len(_type) > 0 {
  		url = fmt.Sprintf("/%s/%s/%s", index, _type, id)
  	} else {
  		url = fmt.Sprintf("/%s/%s", index, id)
  	}
  	req, err := c.NewRequest("HEAD", url, query)
  	if err != nil {
  		// some sort of generic error handler
  	}
  	httpStatusCode, body, err = req.Do(&response)
  	if httpStatusCode > 304 {
  		if error, ok := response["error"]; ok {
  			status, _ := response["status"]
  			log.Printf("Error: %v (%v)\n", error, status)
  		}
  	} else {
  		// marshall into json
  		jsonErr := json.Unmarshal(body, &retval)
  		if jsonErr != nil {
  			log.Println(jsonErr)
  		}
  	}
  	return retval, err
  }
docs: // Exists allows the caller to check for the existence of a document using HEAD
  // This appears to be broken in the current version of elasticsearch 0.19.10, currently
  // returning nothing