@Test
    void testMatch() {
        assertSemantics("RANK showname:\"saturday night live\"!1000 (AND justin timberlake)", "justin timberlake snl");
        assertSemantics("RANK showname:\"saturday night live\"!1000 (AND justin timberlake)", "justin timberlake saturday night live");
    }
Experiments with a way to match only if it doesn't remove all hard conditions in the query.
The problem is that a straightforward use case of replacement leads to nonsensical queries as shown.

@author bratseth
container-search/src/test/java/com/yahoo/prelude/semantics/test/MatchOnlyIfNotOnlyTermTestCase.java