public IEnumerable <IndexQueryResult> Query(
string index,
IndexQuery query,
Func <IndexQueryResult, bool> shouldIncludeInResults,
FieldsToFetch fieldsToFetch,
OrderedPartCollection <AbstractIndexQueryTrigger> indexQueryTriggers)
{
Index value;
if (indexes.TryGetValue(index, out value) == false)
{
log.Debug("Query on non existing index '{0}'", index);
throw new InvalidOperationException("Index '" + index + "' does not exists");
}
var indexQueryOperation = new Index.IndexQueryOperation(value, query, shouldIncludeInResults, fieldsToFetch, indexQueryTriggers);
if (query.Query != null && query.Query.Contains(Constants.IntersectSeperator))
{
return(indexQueryOperation.IntersectionQuery());
}
return(indexQueryOperation.Query());
}