// client side filtering because the filter needs to be applied across
// indices
final MultiIndexDedupeFilter clientDedupeFilter = new MultiIndexDedupeFilter();
while (indices.hasNext()) {
final Index index = indices.next();
final AccumuloConstraintsQuery accumuloQuery;
if (query == null) {
accumuloQuery = new AccumuloConstraintsQuery(
adapterIds,
index,
clientDedupeFilter);
}
else if (query.isSupported(index)) {
// construct the query
accumuloQuery = new AccumuloConstraintsQuery(
adapterIds,
index,
query.getIndexConstraints(index.getIndexStrategy()),
query.createFilters(index.getIndexModel()),
clientDedupeFilter,
authorizations);
}
else {
continue;
}
results.add(accumuloQuery.query(
accumuloOperations,
adapterStore,
limit,
true));
indexCount++;