title: add score to elasticsearch completion suggester inputs
body: <p>I need to implement <a href="http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-completion.html" rel="nofollow noreferrer">elasticsearch completion suggester</a>. </p>
  
  <p>I have an index mapped like this:</p>
  
  <pre><code>{
    "user": {
      "properties": {
        "username": {
          "index": "not_analyzed",
          "analyzer": "simple",
          "type": "string"
        },
        "email": {
          "index": "not_analyzed",
          "analyzer": "simple",
          "type": "string"
        },
        "name": {
          "index": "not_analyzed",
          "analyzer": "simple",
          "type": "string"
        },
        "name_suggest": {
          "payloads": true,
          "type": "completion"
        }
      }
    }
  }
  </code></pre>
  
  <p>I add documents to the index like this:</p>
  
  <pre><code>{
    "doc": {
      "id": 1,
      "username": "jack",
      "name": "Jack Nicholson",
      "email": "nick@myemail.com",
      "name_suggest": {
        "input": [
          "jack",
          "Jack Nicholson",
          "nick@myemail.com"
        ],
        "payload": {
          "id": 1,
          "name": "Jack Nicholson",
          "username": "jack",
          "email": "nick@myemail.com"
        },
        "output": "Jack Nicholson (jack) - nick@myemail.com"
      }
    },
    "doc_as_upsert": true
  }
  </code></pre>
  
  <p>And I send this request to <code>my_index/_suggest</code>:</p>
  
  <pre><code>{
    "user": {
      "text": "jack",
      "completion": {
        "field": "name_suggest"
      }
    }
  }
  </code></pre>
  
  <p>I get the resulting options that look like this:</p>
  
  <pre><code>[
    {
      "text": "John Smith",
      "score": 1.0,
      "payload": {
        "id": 11,
        "name": "John Smith",
        "username": "jack",
        "email": "john@myemail.com"
      }
    },
    {
      "text": "Jack Nickolson",
      "score": 1.0,
      "payload": {
        "id": 1,
        "name": "Jack Nickolson",
        "username": "jack.n",
        "email": "nickolson@myemail.com"
      }
    },
    {
      "text": "Jackson Jermaine",
      "score": 1.0,
      "payload": {
        "id": 10,
        "name": "Jackson Jermaine",
        "username": "jermaine",
        "email": "jermaine@myemail.com"
      }
    },
    {
      "text": "Tito Jackson",
      "score": 1.0,
      "payload": {
        "id": 9,
        "name": "Tito Jackson",
        "username": "tito",
        "email": "jackson@myemail.com"
      }
    },
    {
      "text": "Michael Jackson",
      "score": 1.0,
      "payload": {
        "id": 6,
        "name": "Michael Jackson",
        "username": "michael_jackson",
        "email": "jackson_michael@myemail.com"
      }
    }
  ]
  </code></pre>
  
  <p>This works fine but, I need to have the options sorted that way that those that have <code>username</code> matched come first. I can do it manually, but that would prevent me to use length and offset and would be slower.</p>
  
  <p>Is it possible to add scoring to the individual inputs (not the whole suggests), and that way affect the sorting? With the approach that I use it seems it is not. </p>
  
  <p>Another related question, is it possible to specify in the input an array of fields instead of an array of values, and that way avoid the duplication? If yes, would setting the score on the fields be taken into account when ES generates suggestions?</p>