def mget(docs=[], arg_opts={})
      #Legacy API
      return legacy_mget(docs) if docs.is_a?(Hash)
      
      opts = {:exists => true}.merge(arg_opts)
      
      res = request(:get, path_uri("/_mget"), {}, {:docs => docs})[:docs]
      if opts.has_key?(:exists) || opts.has_key?(:found)
        res.select {|d| d[:found] == true}
      else
        res
      end
    end
def mget(docs=[], arg_opts={})
      #Legacy API
      return legacy_mget(docs) if docs.is_a?(Hash)
      
      opts = {:exists => true}.merge(arg_opts)
      
      res = request(:get, path_uri("/_mget"), {}, {:docs => docs})[:docs]
      if opts.has_key?(:exists) || opts.has_key?(:found)
        res.select {|d| d[:found] == true}
      else
        res
      end
    end
Retrieves multiple documents, possibly from multiple indexes
 Takes an array of docs, returns an array of docs
 as per: http://www.elasticsearch.org/guide/reference/api/multi-get.html
 If you pass :found => true as the second argument it will not return stubs
 for missing documents. :exists => false works in reverse