Thanks, this solved my problem!

However, I had to wrap the query within another nested query to ensure the single variant to have all attributes (not mentioned in my original post):

    {
      "query": {
        "nested": {
          "path": "variants",
          "query": {
            "bool": {
              "must": [
                {
                  "nested": {
                    "path": "variants.attributes",
                    "query": {
                      "terms": {
                        "variants.attributes.id": [
                          204
                        ]
                      }
                    }
                  }
                },
                {
                  "nested": {
                    "path": "variants.attributes",
                    "query": {
                      "terms": {
                        "variants.attributes.id": [
                          2627
                        ]
                      }
                    }
                  }
                }
              ]
            }
          }
        }
      }
    }

---
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB