title: Elasticsearch multi_match query not working with synonyms and cross_fields
body: <p>Elasticsearch multi match query with <code>cross_fiels</code> type and synonyms is not working as expected. </p>
  
  <p>I have the following configuration:</p>
  
  <pre><code>{
      "my_index": {
          "mappings": {
              "my_mapping": {
                  "properties": {
                      "@timestamp": {
                          "type": "date"
                      },
                      "@version": {
                          "type": "text",
                          "fields": {
                              "keyword": {
                                  "type": "keyword",
                                  "ignore_above": 256
                              }
                          }
                      },
                      "field1": {
                          "type": "text",
                          "fields": {
                              "keyword": {
                                  "type": "keyword",
                                  "ignore_above": 256
                              }
                          }
                      },
                      "field2": {
                          "type": "text",
                          "fields": {
                              "keyword": {
                                  "type": "keyword",
                                  "ignore_above": 256
                              }
                          }
                      }
          },
          "settings": {
              "index": {
                  "analysis": {
                      "filter": {
                          "my_synonym_filter": {
                              "type": "synonym",
                              "synonyms": [
                                  "matthew,matt,matty",
                                  "thomas,tom,thom,tommy"
                              ]
                          }
                      },
                      "analyzer": {
                          "my_synonyms": {
                              "filter": [
                                  "lowercase",
                                  "my_synonym_filter"
                              ],
                              "tokenizer": "standard"
                          }
                      }
                  }
              }
          }
      }
  }
  </code></pre>
  
  <p>And the following query:</p>
  
  <pre><code>{
      "query":{  
          "bool":{  
              "should":[  
                 {  
                    "multi_match":{  
                       "fields":[  
                          "field1^8",
                          "field2^2"
                       ],
                       "query":"Matt And Tom Oldfield",
                       "type":"cross_fields",
                       "analyzer": "my_synonyms"
                    }
                 }
              ]
          }
       }
   }
  </code></pre>
  
  <p>But when I execute the query it is not expanding the synonyms into every field, so if I analyze the query the explanation is as follows:</p>
  
  <p><code>(Synonym(field1:matt field1:matthew field1:matty) blended(terms:[field1:and^8.0, field2:and^2.0]) Synonym(field1:thom field1:thomas field1:tom field1:tommy) blended(terms:[field1:oldfield^8.0, field2:oldfield^2.0]))</code></p>
  
  <p>So if I have "Tom Oldfield" in field1 and "Matt Oldfield" in field2 the query doesn't match that result as you can see that it only expands the synonyms but for the first field (<code>field1</code>) and not the other. </p>
  
  <p>If I remove the analyzer from the query then it will match a document with "Tom Oldfield" in field1 and "Matt Oldfield" in field2 and the query explanation is as follows:</p>
  
  <p><code>(blended(terms:[field1:matt^8.0, field2:matt^2.0]) blended(terms:[field1:and^8.0, field2:and^2.0]) blended(terms:[field1:tom^8.0, field2:tom^2.0]) blended(terms:[field1:oldfield^8.0, field2:oldfield^2.0]))</code></p>
  
  <p>Is there a way to make the synonyms expand to every field?</p>