private Result search(Query query, Execution execution, String fieldName) {
        String attributes = query.properties().getString(ATTRIBUTES);
        String rangeAttributes = query.properties().getString(RANGE_ATTRIBUTES);
        if (query.getTrace().isTraceable(5)) {
            query.trace("BooleanSearcher: fieldName(" + fieldName + "), attributes(" + attributes +
                        "), rangeAttributes(" + rangeAttributes + ")", false, 5);
        }

        if (attributes != null || rangeAttributes != null) {
            try {
                addPredicateTerm(query, fieldName, attributes, rangeAttributes);
                if (query.getTrace().isTraceable(4)) {
                    query.trace("BooleanSearcher: Added boolean operator", true, 4);
                }
            } catch (TokenMgrException e) {
                return new Result(query, ErrorMessage.createInvalidQueryParameter(toMessageString(e)));
            }
            catch (IllegalArgumentException e) {
                throw new IllegalInputException("Failed boolean search on field '" + fieldName + "'", e);
            }
        }
        else {
            if (query.getTrace().isTraceable(5)) {
                query.trace("BooleanSearcher: Nothing added to query", false, 5);
            }
        }
        return execution.search(query);
    }
Searcher that builds a PredicateItem from the &amp;boolean properties and inserts it into a query.

@author Magnar Nedland
container-search/src/main/java/com/yahoo/search/querytransform/BooleanSearcher.java