@Override
    public Result search(Query query, Execution execution) {
        if (query.properties().getBoolean(rulesOff))
            return execution.search(query);

        int traceLevel = query.properties().getInteger(tracelevelRules, query.getTrace().getLevel() - 2);
        if (traceLevel < 0) traceLevel = 0;
        RuleBase ruleBase = resolveRuleBase(query);
        if (ruleBase == null)
            return execution.search(query);

        String error = ruleBase.analyze(query, traceLevel);
        if (error != null)
            return handleError(ruleBase, query, error);
        else
            return execution.search(query);
    }
Creates a semantic searcher using the given default rule base
container-search/src/main/java/com/yahoo/prelude/semantics/SemanticSearcher.java