public Query retrieveSinglePass(Strategy strategy) { // implements local retrieval strategy //log.info("retrieveSinglePass %d %s", repository.getPartitions(), strategy.query.query); strategy.prepareAggregation(); HashSet<Integer> collected = new HashSet<Integer>(); if (strategy instanceof RetrievalModel) { for (int i = 0; i < repository.getPartitions(); i++) { Strategy results = retrieveSegment(strategy.query, i); for (int collector = 0; collector < results.collectors.size(); collector++) { Collector aggregator = strategy.collectors.get(collector); aggregator.aggregate(results.collectors.get(collector)); collected.add(collector); } } } else { Strategy results = retrieveSegment(strategy.query, -1); strategy.collectors = results.collectors; for (Collector c : results.collectors) { collected.add(results.collectors.indexOf(c)); } } strategy.collectors.finishReduce(); for (Collector sdf : strategy.collectors) { if (sdf instanceof CollectorCachable) repository.unloadStoredDynamicFeature(((CollectorCachable)sdf).getStoredDynamicFeature()); } return strategy.finishReduceTask(); }
public Query retrieveSinglePass(Strategy strategy) { // implements local retrieval strategy //log.info("retrieveSinglePass %d %s", repository.getPartitions(), strategy.query.query); strategy.prepareAggregation(); HashSet<Integer> collected = new HashSet<Integer>(); if (strategy instanceof RetrievalModel) { for (int i = 0; i < repository.getPartitions(); i++) { Strategy results = retrieveSegment(strategy.query, i); for (int collector = 0; collector < results.collectors.size(); collector++) { Collector aggregator = strategy.collectors.get(collector); aggregator.aggregate(results.collectors.get(collector)); collected.add(collector); } } } else { Strategy results = retrieveSegment(strategy.query, -1); strategy.collectors = results.collectors; for (Collector c : results.collectors) { collected.add(results.collectors.indexOf(c)); } } strategy.collectors.finishReduce(); for (Collector sdf : strategy.collectors) { if (sdf instanceof CollectorCachable) repository.unloadStoredDynamicFeature(((CollectorCachable)sdf).getStoredDynamicFeature()); } return strategy.finishReduceTask(); }
aggregator.aggregate(v.collector); strategy.collectors.finishReduce(); q = strategy.finishReduceTask(); q.setVariantID(0);
aggregator.aggregate(v.collector); strategy.collectors.finishReduce(); q = strategy.finishReduceTask(); q.setVariantID(0);
aggregator.aggregate(v.collector); strategy.collectors.finishReduce(); q = strategy.finishReduceTask();
aggregator.aggregate(v.collector); strategy.collectors.finishReduce(); q = strategy.finishReduceTask();