For those looking at this in 2020, you may notice that accepted answer is deprecated in 2020, but there is a similar approach available using terms_set
and minimum_should_match_script
combination.
Please see the detailed answer here in the SO thread