Update Index

Dear Elastic Search User,

I come to know there is an <b>UpdateRequest is availble in ES

version0.19.0, and i can use it like
UpdateRequest updateRequest = new
UpdateRequest(indexName,indexType,indexId);
client.update(updateRequest);
and I am not sure how to pass the updated source to do updateIndex.

so far I am doing update index by the below steps in ES version
0.18.7
by

  1. GetRequest getRequest = new GetRequest(indexName,indexType,
    indexId);
  2. GetResponse response = client.get(getRequest).get();
    //document already existing in the elastic search engine
    3 .Map<String, Object> responseSourceMap = response.getSource();
  3. responseSourceMap .put(document to update);
  4. create a indexrequest with source as responseSourceMap
  5. client.index(indexRequest);

I have a question of what is the advantage of using
client.update(updateRequest) instead of
client.index(indexRequest) and how to use properly
client.update(updateRequest)
?
Please share your thoughts.