title: Create ElasticSearch dynamic template to ensure all fields are set to not_analyzed
body: <p>I have an ElasticSearch type for which I want the mapping to be set dynamically. There are a few select fields on that type that I want to be analyzed, but everything else should be set to "not_analyzed".</p>
  
  <p>I've come up with the following snippet. This sets all <em>string</em> fields to not be analyzed, but doesn't cover all other data types. I tried using the "generic" field shown in the documentation but it didn't help. Can anyone tell me how I can accomplish this?</p>
  
  <pre><code>{
    "TypeName": {
      "dynamic_templates": [
        {
          "template_name": {
            "match": "*",
            "match_mapping_type": "string",
            "mapping": {
              "index": "no",
              "type": "string"
            }
          }
        }
      ],
      "dynamic": true,
      "properties": {
        "url": {
          "index": "analyzed",
          "type": "string"
        },
        "resourceUrl": {
          "index": "analyzed",
          "type": "string"
        }
      }
    }
  }
  </code></pre>