title: Change default mapping of string to "not analyzed" in Elasticsearch
body: <p>In my system, the insertion of data is  always done through csv files via logstash. I never pre-define the mapping. But whenever I input a string it is always taken to be <code>analyzed</code>, as a result an entry like <code>hello I am Sinha</code> is split into <code>hello</code>,<code>I</code>,<code>am</code>,<code>Sinha</code>. Is there anyway I could change the default/dynamic mapping of elasticsearch so that all strings, irrespective of index, irrespective of type are taken to be <code>not analyzed</code>? Or is there a way of setting it in the <code>.conf</code> file? Say my <code>conf</code> file looks like</p>
  
  <pre><code>input {  
        file {
            path =&gt; "/home/sagnik/work/logstash-1.4.2/bin/promosms_dec15.csv"
            type =&gt; "promosms_dec15"
            start_position =&gt; "beginning"
            sincedb_path =&gt; "/dev/null"
        }
  }
  filter {
  
      csv {
          columns =&gt; ["Comm_Plan","Queue_Booking","Order_Reference","Multi_Ordertype"]
          separator =&gt; ","
      }  
      ruby {
            code =&gt; "event['Generation_Date'] = Date.parse(event['Generation_Date']);"
      }
  
  }
  output {  
      elasticsearch { 
          action =&gt; "index"
          host =&gt; "localhost"
          index =&gt; "promosms-%{+dd.MM.YYYY}"
          workers =&gt; 1
      }
  }
  </code></pre>
  
  <p>I want all the strings to be <code>not analyzed</code> and I don't mind it being the default setting for all future data to be inserted into elasticsearch either</p>