anchor.diff:  // CONSOLE
   // TEST[continued]
   
  -This example is a variant of `match` (`match_phrase`) that returns all accounts containing the phrase "mill lane" in the address:
  +To perform a phrase search rather than matching individual terms, you use
  +`match_phrase` instead of `match`. For example, the following request only 
  +matches addresses that contain the phrase `mill lane`: 
   
   [source,js]
   --------------------------------------------------
  
positive.code: // CONSOLE
  // TEST[continued]
  
  Let's now introduce the {ref}/query-dsl-bool-query.html[`bool` query]. The `bool` query allows us to compose smaller queries into bigger queries using boolean logic.
  
  This example composes two `match` queries and returns all accounts containing "mill" and "lane" in the address:
  
  [source,js]
  --------------------------------------------------
  GET /bank/_search
  {
    "query": {
      "bool": {
        "must": [
          { "match": { "address": "mill" } },
          { "match": { "address": "lane" } }
        ]
      }
    }
  }
  --------------------------------------------------
  // CONSOLE
  // TEST[continued]
  
  In the above example, the `bool must` clause specifies all the queries that must be true for a document to be considered a match.
  
  In contrast, this example composes two `match` queries and returns all accounts containing "mill" or "lane" in the address:
  
  [source,js]
  --------------------------------------------------
  GET /bank/_search
  {
    "query": {
      "bool": {
        "should": [
          { "match": { "address": "mill" } },
          { "match": { "address": "lane" } }
        ]
      }
    }
  }
  --------------------------------------------------
  // CONSOLE
  // TEST[continued]
  
  In the above example, the `bool should` clause specifies a list of queries either of which must be true for a document to be considered a match.
  
  This example composes two `match` queries and returns all accounts that contain neither "mill" nor "lane" in the address:
  
  [source,js]
  --------------------------------------------------
  GET /bank/_search
  {
    "query": {
      "bool": {
        "must_not": [
          { "match": { "address": "mill" } },
          { "match": { "address": "lane" } }
        ]
      }
    }
  }
  --------------------------------------------------
  // CONSOLE
  // TEST[continued]
  
  In the above example, the `bool must_not` clause specifies a list of queries none of which must be true for a document to be considered a match.
  
  We can combine `must`, `should`, and `must_not` clauses simultaneously inside a `bool` query. Furthermore, we can compose `bool` queries inside any of these `bool` clauses to mimic any complex multi-level boolean logic.
  
  This example returns all accounts of anybody who is 40 years old but doesn't live in ID(aho):
  
  [source,js]
  --------------------------------------------------
  
negative.code: // CONSOLE
  // TEST[continued]
  
  Now that you've seen how to submit a basic search request, you can start to
  construct queries that are a bit more interesting than `match_all`.
  
  To search for specific _terms_ within a field, you can use a `match` query. 
  For example, the following request searches the `address` field to find 
  customers whose addresses contain `mill` or `lane`:
  
  [source,js]
  --------------------------------------------------
  