title: Elasticsearch must and must_not not working as expected
body: <p>I'm trying to run a query as shown below:</p>
  
  <pre><code>query = {
    "filtered": {
      "filter": {
        "bool": {
          "must_not": [{"term":{"text":"exclude_word"}}],
          "must": [{"term":{"text":"include_word"}}]
        }
      },
      "query": {
        "dis_max": {
          "queries": [
            {"match": {"text": "search_term"}},
            {"match": {"title": "search_term"}}
          ]
        }
      }
    }
  }
  }
  client.search(
  {
    index: 'docs',
    body: {
        from: start_page,
        size: 10,
        query: query,
        highlight : {
          fields : {
            text : {
            }
          }
        }
    })
  </code></pre>
  
  <p>The purpose of this query is to search through all documents for the "search_term" and exclude documents which contain "exclude_word" and don't contain "include_word" in their text field.</p>
  
  <p>My problem is that it doesn't seem to filter out the documents containing the exclude_word. Assume that "start_page" is a variable I'm updating and its working fine alongside a paging front end. </p>
  
  <p>My text field is analyzed and its in the following format:</p>
  
  <pre><code>"text": ["sentence 1", "sentence 2", "sentence 3"]
  </code></pre>
  
  <p>Also the client.search part is just an API for node.js that I'm using and it works fine and can be ignored.</p>