Nested Filter Problem

See my response to a similar question

In the context of queries on nested structures, an element in the "specs" array can either match "Tornillo" or "Dorado" but not both.

Try what I suggested in the other question, i.e. use the inner_hits object to determine if the count of matched elements is 2. Only the records where it is 2 are valid results.

{
	"query": {
		"nested": {
			"path": "specs",
			"query": {
				"bool": {
					"filter": [{
							"terms": {
								"specs.value": [
									"Tornillo", "Dorado"
								]
							}
						}
					]
				}
			},
			"inner_hits": {}
		}
	}
}