title: ElasticSearch Nest Insert/Update
body: <p>I have created an index in elastic using the following query: </p>
  
  <pre><code>PUT public_site
  {
    "mappings": {
      "page": {
        "properties": {
          "url": {
            "type": "string"
          },
          "title":{
            "type": "string"
          },
          "body":{
            "type": "string"
          },
          "meta_description":{
            "type": "string"
          },
          "keywords":{
            "type": "string"
          },
          "category":{
            "type": "string"
          },
          "last_updated_date":{
            "type": "date"
          },
          "source_id":{
          "type":"string"
          }
        }
      }
    }
  }
  </code></pre>
  
  <p>I would like to insert a document into this index using the .net NEST library. My issue is that the .net update method's signature doesn't make any sense to me.</p>
  
  <pre class="lang-cs prettyprint-override"><code>client.Update&lt;TDocument&gt;(IUpdateRequest&lt;TDocument,TPartialDocument&gt;)
  </code></pre>
  
  <p>The Java library makes so much more sense to me: </p>
  
  <pre><code>UpdateRequest updateRequest = new UpdateRequest();
  updateRequest.index("index");
  updateRequest.type("type");
  updateRequest.id("1");
  updateRequest.doc(jsonBuilder()
          .startObject()
              .field("gender", "male")
          .endObject());
  client.update(updateRequest).get();
  </code></pre>
  
  <p>In NEST where do the <code>TDocument</code> and <code>TPartialDocument</code> classes come from? 
  Are these C# classes that I make representing my index? </p>