docs: def partial_update(self, index, doc_type, id, doc=None, script=None, params=None,
                         upsert=None, querystring_args=None):
          """
          Partially update a document with a script
          """
          if querystring_args is None:
              querystring_args = {}
  
          if doc is None and script is None:
              raise InvalidQuery("script or doc can not both be None")
  
          if doc is None:
              cmd = {"script": script}
              if params:
                  cmd["params"] = params
              if upsert:
                  cmd["upsert"] = upsert
          else:
              cmd = {"doc": doc }
          path = make_path(index, doc_type, id, "_update")
  
          return self._send_request('POST', path, cmd, querystring_args)