title: Adding a filter seems to produce more results
body: <p>Weird situation involving adding filters to an existing bool query. </p>
  
  <p>This query here, brings up exactly one result, one from the "pages" index. 
  The "documents" index, predictably on our side, has zilch for results for this query. </p>
  
  <p>This makes sense. This version of the query works just fine. </p>
  
  <pre><code>{
    "index": "pages"
  }
  {
    "size": 30,
    "query": {
      "dis_max": {
        "queries": {
          "bool": {
            "should": [
              {
                "term": {
                  "title_exact": "\"this is a test search phrase\""
                }
              },
              {
                "query_string": {
                  "fields": [
                    "title"
                  ],
                  "query": "\"this is a test search phrase\""
                }
              },
              {
                "nested": {
                  "path": "versions",
                  "query": {
                    "query_string": {
                      "fields": [
                        "versions.page_content"
                      ],
                      "query": "\"this is a test search phrase\""
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  }
  {
    "index": "documents"
  }
  {
    "size": 30,
    "query": {
      "dis_max": {
        "queries": {
          "bool": {
            "should": [
              {
                "term": {
                  "title_exact": "\"this is a test search phrase\""
                }
              },
              {
                "query_string": {
                  "fields": [
                    "title"
                  ],
                  "query": "\"this is a test search phrase\""
                }
              },
              {
                "nested": {
                  "path": "product.versions",
                  "query": {
                    "query_string": {
                      "fields": [
                        "versions.page_content"
                      ],
                      "query": "\"this is a test search phrase\""
                    }
                  }
                }
              }
            ]
          }
        }
      }
    }
  }
  
  </code></pre>
  
  <p>However, users have the ability to add a filter to an existing query, in this case that's a product. </p>
  
  <p>This is the query that gets sent. </p>
  
  <pre><code>{
    "index": "pages"
  }
  {
    "size": 30,
    "query": {
      "dis_max": {
        "queries": {
          "bool": {
            "should": [
              {
                "term": {
                  "title_exact": "\"this is a test search phrase\""
                }
              },
              {
                "query_string": {
                  "fields": [
                    "title"
                  ],
                  "query": "\"this is a test search phrase\""
                }
              },
              {
                "nested": {
                  "path": "versions",
                  "query": {
                    "query_string": {
                      "fields": [
                        "versions.page_content"
                      ],
                      "query": "\"this is a test search phrase\""
                    }
                  }
                }
              }
            ],
            "filter": [
              {
                "term": {
                  "product_id": "a2c2c792-84ac-11e8-b4c6-005056a40c60"
                }
              }
            ]
          }
        }
      }
    }
  }
  {
    "index": "documents"
  }
  {
    "size": 30,
    "query": {
      "dis_max": {
        "queries": {
          "bool": {
            "should": [
              {
                "term": {
                  "title_exact": "\"this is a test search phrase\""
                }
              },
              {
                "query_string": {
                  "fields": [
                    "title"
                  ],
                  "query": "\"this is a test search phrase\""
                }
              },
              {
                "nested": {
                  "path": "product.versions",
                  "query": {
                    "query_string": {
                      "fields": [
                        "versions.page_content"
                      ],
                      "query": "\"this is a test search phrase\""
                    }
                  }
                }
              }
            ],
            "filter": [
              {
                "term": {
                  "product.id": "a2c2c792-84ac-11e8-b4c6-005056a40c60"
                }
              }
            ]
          }
        }
      }
    }
  }
  
  </code></pre>
  
  <p>The problem here, is that while the "pages" index still produces the one result as desired, the "documents" index now suddenly matches against every record that has that product id in it and bumps up the results. </p>
  
  <p>both "filter" and "must" do the same thing in this scenario. </p>
  
  <p>Honestly, it should be producing the exact same result as the previous query.  Filters should only be reducing result sets, not increasing them. </p>
  
  <p>Anyone have any ideas? </p>
  
  <p>Thank you</p>