title: Elasticsearch highlighting on ngram filter is weird if min_gram is set to 1
body: <p>So I have this index</p>
  
  <pre><code>{
    "settings":{
      "index":{
        "number_of_replicas":0,
        "analysis":{
          "analyzer":{
            "default":{
              "type":"custom",
              "tokenizer":"keyword",
              "filter":[
                "lowercase",
                "my_ngram"
              ]
            }
          },
          "filter":{
            "my_ngram":{
              "type":"nGram",
              "min_gram":2,
              "max_gram":20
            }
          }
        }
      }
    }
  }
  </code></pre>
  
  <p>and I'm performing this search through the tire gem</p>
  
  <pre><code>{
     "query":{
        "query_string":{
           "query":"xyz",
           "default_operator":"AND"
        }
     },
     "sort":[
        {
           "count":"desc"
        }
     ],
     "filter":{
        "term":{
           "active":true,
           "_type":null
        }
     },
     "highlight":{
        "fields":{
           "name":{
  
           }
        },
        "pre_tags":[
           "&lt;strong&gt;"
        ],
        "post_tags":[
           "&lt;/strong&gt;"
        ]
     }
  }
  </code></pre>
  
  <p>and I have two posts that should match named 'xyz post' and 'xyz question'
  When I perform this search, I get the highlighted fields back properly</p>
  
  <pre><code>&lt;strong&gt;xyz&lt;/strong&gt; question
  &lt;strong&gt;xyz&lt;/strong&gt; post
  </code></pre>
  
  <p>Now here's the thing ... as soon as I change min_gram to 1 in my index and reindex. the highlighted fields start coming back as this</p>
  
  <pre><code>&lt;strong&gt;x&lt;/strong&gt;&lt;strong&gt;y&lt;/strong&gt;&lt;strong&gt;z&lt;/strong&gt; pos&lt;strong&gt;xyz&lt;/strong&gt;t
  &lt;strong&gt;x&lt;/strong&gt;&lt;strong&gt;y&lt;/strong&gt;&lt;strong&gt;z&lt;/strong&gt; questio&lt;strong&gt;xyz&lt;/strong&gt;n
  </code></pre>
  
  <p>I simply cannot understand why.</p>