Splits the query if needed, executes it, aggregates and returns results. Query is split if the number
of OR conditions is higher than maxRestrictionsPerQuery. Only top level condition split is supported.
T - result type
query - original query to be executed
searcher - query results provider
maxRestrictionsPerQuery - maximum number of restrictions allowed in the single query