code: func (c *Conn) SearchUri(index, _type string, args map[string]interface{}) (SearchResult, error) {
  	var uriVal string
  	var retval SearchResult
  	if len(_type) > 0 && _type != "*" {
  		uriVal = fmt.Sprintf("/%s/%s/_search", index, _type)
  	} else {
  		uriVal = fmt.Sprintf("/%s/_search", index)
  	}
  	//log.Println(uriVal)
  	body, err := c.DoCommand("GET", uriVal, args, nil)
  	if err != nil {
  		return retval, err
  	}
  	if err == nil {
  		// marshall into json
  		jsonErr := json.Unmarshal([]byte(body), &retval)
  		if jsonErr != nil {
  			return retval, jsonErr
  		}
  	}
  	retval.RawJSON = body
  	return retval, err
  }
docs: // SearchUri performs the simplest possible query in url string
  // params:
  //   @index:  the elasticsearch index
  //   @_type:  optional ("" if not used) search specific type in this index
  //   @args: a map of URL parameters. Most important one is q
  //
  //   out, err := SearchUri("github","", map[string]interface{} { "q" : `user:kimchy`})
  //
  // produces a request like this:    host:9200/github/_search?q=user:kimchy"
  //
  // http://www.elasticsearch.org/guide/reference/api/search/uri-request.html