@Override
    public Result search(Query query, Execution execution) {
        if (phraseMatcher.isEmpty()) return execution.search(query);
        
        List<PhraseMatcher.Phrase> replacePhrases = phraseMatcher.matchPhrases(query.getModel().getQueryTree().getRoot());
        if (replacePhrases != null && ! query.properties().getBoolean(suggestonly, false)) {
            replace(replacePhrases);
            query.trace("Replacing phrases", true, 2);
        }
        return execution.search(query);
    }
Detects query phrases. When a phrase is detected in the query,
the query is mutated to reflect this fact.

@author bratseth
@author Einar M R Rosenvinge
container-search/src/main/java/com/yahoo/prelude/querytransform/PhrasingSearcher.java