title: How to simulate multiple fields in a terms query
body: <p>I have some code already written (java/spring) which allows users to select check boxes and then builds an elasticSearch query.  Up to now this has been working well as the requirement has been that terms in different categories should be AND queries and so it has been possible to loop through the tiered selection boxes building a terms match (OR queries) then combine them to and build a boolean terms query along these lines </p>
  
  <pre><code>{
   "bool" : {
     "must" : [ {
       "terms" : {
         "field1" : [ "term1", "term2" ]
       }
     }, {
       "terms" : {
         "field2" : [ "term3" ]
       }
     } ]
   }
  </code></pre>
  
  <p>There has been a new requirement to make some of the top level boxes OR queries so in these cases I would need something along the lines of </p>
  
  <pre><code>{
   "query": {
     "bool" : {
       "must" : {
         "terms" : { "field1" : ["term1"] , "field1" : ["term2"] } 
      }
     }
   }
  </code></pre>
  
  <p>}</p>
  
  <p>This is not possible I assume (elasticSearch 2.4.1) as I get an error </p>
  
  <pre><code>"type": "query_parsing_exception",
  "reason": "[terms] query does not support multiple fields",...
  </code></pre>
  
  <p>I'm guessing I should move this to a filter query but I wondered if anyone could confirm that this is the simplest most effective change (at this stage I'm looking for the path of least change) ?</p>