title: Dynamic Template not working for short, byte & float
body: <p>I am trying to create a template, in my template I am trying to achieve the dynamic mapping.</p>
  
  <p>Here is what I wrote, as in <strong>6.2.1</strong> the only boolean, date, double, long, object, string are automatically detected, facing issues for mapping the float, short &amp; byte.</p>
  
  <p>Here if I index <strong>127</strong>, it will be mapped to <strong>short</strong> from the <strong>short_fields</strong>, it's fine, but when I index some 325566, I am getting exception Numeric value (325566) out of range of Java short, I want to suppress this and let <strong>long_fields</strong>, should take care about this &amp; it should be mapped to long. I have tried with <code>coerce:false</code>, <code>ignore_malformed:true</code>, none of them worked as expected.</p>
  
  <pre><code>"dynamic_templates": [
    {
      "short_fields": {
        "match": "*",
        "match_mapping_type": "long",
        "mapping": {
          "type": "short",
          "doc_values": true
        }
      }
    },
    {
      "long_fields": {
        "match": "*",
        "match_mapping_type": "long",
        "mapping": {
          "type": "long",
          "doc_values": true
        }
      }
    },
    {
      "byte_fields": {
        "match": "*",
        "match_mapping_type": "byte",
        "mapping": {
          "type": "byte",
          "doc_values": true
        }
      }
    }
  ]
  </code></pre>