While working on the preparations for the final 2.0 release I encountered a rather serious bug with Elasticsearch.
For a condition like row-label: ~=Armor, ~=Sword; the values of the field are mapped as must. But values within a field are always threaded as 'should' (unless marked as excluding).
Effectively there should be two groups: must and should, but because of how the DSL is build-up we can't just put all the including values in 'should' and all the excluding values in 'must' as they only need to be or-ed per field values (not for all others fields).
This is going to require more work than expected and might not be finished before 31th of this month.
For now I'm going to mark the Elasticsearch implementation as broken (unless someone can fix this in time? 🙏🏼 )
It will be fixed, but I can't promise when.