title: Dots in field aren't used to break up word for analyzer
body: <p>I have following mapping for the index documents (simplified)</p>
  
  <pre><code>{
      "documents": {
          "mappings": {
              "document": {
                  "properties": {
                      "filename": {
                          "type": "string",
                          "fields": {
                              "lower_case_sort": {
                                  "type": "string",
                                  "analyzer": "case_insensitive_sort"
                              },
                              "raw": {
                                  "type": "string",
                                  "index": "not_analyzed"
                              }
                          }
                      }
                  }
              }
          }
      }
  }
  </code></pre>
  
  <p>I put two documents to this index</p>
  
  <pre><code>{
      "_index": "documents",
      "_type": "document",
      "_id": "777",
      "_source": {
          "filename": "text.txt",
      }
  }
  </code></pre>
  
  <p>...</p>
  
  <pre><code>{
      "_index": "documents",
      "_type": "document",
      "_id": "888",
      "_source": {
          "filename": "text 123.txt",
      }
  }
  </code></pre>
  
  <p>Doing a query_string or simple_query_string query against "text" I would have expected to get both documents back. They should match due to the filenames are "text.txt" and "text 123.txt".</p>
  
  <pre><code>http://localhost:9200/defiant/_search?q=text
  </code></pre>
  
  <p>However, I only find the document with the name "test 123.txt" - "test.txt" is only found if I search for "test.*" or "test.txt" or "test.???" - I MUST add the dot in the filename.</p>
  
  <p>This is my explain result against document id 777 (text.txt)</p>
  
  <pre><code>curl -XGET 'http://localhost:9200/documents/document/777/_explain' -d '{"query": {"query_string" : {"query" : "text"}}}'
  </code></pre>
  
  <p>--></p>
  
  <pre><code>{
      "_index": "documents",
      "_type": "document",
      "_id": "777",
      "matched": false,
      "explanation": {
          "value": 0.0,
          "description": "Failure to meet condition(s) of required/prohibited clause(s)",
          "details": [{
              "value": 0.0,
              "description": "no match on required clause (_all:text)",
              "details": [{
                  "value": 0.0,
                  "description": "no matching term",
                  "details": []
              }]
          }, {
              "value": 0.0,
              "description": "match on required clause, product of:",
              "details": [{
                  "value": 0.0,
                  "description": "# clause",
                  "details": []
              }, {
                  "value": 0.47650534,
                  "description": "_type:document, product of:",
                  "details": [{
                      "value": 1.0,
                      "description": "boost",
                      "details": []
                  }, {
                      "value": 0.47650534,
                      "description": "queryNorm",
                      "details": []
                  }]
              }]
          }]
      }
  }
  </code></pre>
  
  <p>Did I screw up the mapping? I would have thought that the '.' is analyzed as a term separator when the document is indexed...</p>
  
  <p>Edited: Settings of case_insensitive_sort</p>
  
  <pre><code>{
      "documents": {
          "settings": {
              "index": {
                  "creation_date": "1473169458336",
                  "analysis": {
                      "analyzer": {
                          "case_insensitive_sort": {
                              "filter": [
                                  "lowercase"
                              ],
                              "tokenizer": "keyword"
                          }
                      }
                  }
              }
          }
      }
  }
  </code></pre>