Faceted search with aggregations

Sorry about the delay on getting back to you on this.

So, you can git the terms a try, like I suggest in here:

"filter": [
  {
    "terms": {
      "brand": [
        "phrase 1", "phrase 2"
      ]
    }
  }
]

If you want to combine more filters, you just need to add them to the filter array and you will get the "AND" result as you wish, like this:

"filter": [
  {
    "terms": {
      "survey": [
        "phrase 1", "phrase 2"
      ]
    }
  },
  {
    "terms": {
      "subjects": [
        "phrase 1", "phrase 2"
      ]
    }
  }
]

Not sure if this is what you're aiming but let me know in any case.