title: python elasticsearch bulk index datatype
body: <p>I am using the following code to create an index and load data in elastic search</p>
  
  <pre><code>from elasticsearch import helpers, Elasticsearch
  import csv
  es = Elasticsearch()
  es = Elasticsearch('localhost:9200')
  index_name='wordcloud_data'
  with open('./csv-data/' + index_name +'.csv') as f:
      reader = csv.DictReader(f)
      helpers.bulk(es, reader, index=index_name, doc_type='my-type')
  
  print ("done")
  </code></pre>
  
  <p>My CSV data is as follows</p>
  
  <pre><code>date,word_data,word_count
  2017-06-17,luxury vehicle,11
  2017-06-17,signifies acceptance,17
  2017-06-17,agency imposed,16
  2017-06-17,customer appreciation,11
  </code></pre>
  
  <p>The data loads fine but then the datatype is not accurate
  How do I force it to say that the word_count is integer and not text
  See how it figures out the date type ?
  Is there a way it can figure out the int datatype automatically ? or by passing some parameter ?</p>
  
  <p>Also what do I do to increase the ignore_above or remove it for some of the fields if I wanted to. basically no limit to the number of characters ?</p>
  
  <pre><code>{
    "wordcloud_data" : {
      "mappings" : {
        "my-type" : {
          "properties" : {
            "date" : {
              "type" : "date"
            },
            "word_count" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            },
            "word_data" : {
              "type" : "text",
              "fields" : {
                "keyword" : {
                  "type" : "keyword",
                  "ignore_above" : 256
                }
              }
            }
          }
        }
      }
    }
  }
  </code></pre>