public void finishSegmentRetrieval() { for (int i = size() - 1; i >= 0; i--) { get(i).finishSegmentRetrieval(); } }
public void finishSegmentRetrieval() { for (int i = size() - 1; i >= 0; i--) { get(i).finishSegmentRetrieval(); } }
/** * After a retrieval-pass, the {@link Retriever} calls the results() function * in which the Strategy decides whether this was the final pass and results * are returned, or if a consecutive retrieval pass is required. * <p/> * @return {@link Query} object, which contains strategyclass=null and * queryresults if the final pass was processed, or a strategyclass with a * reformulated query if a consecutive retrieval pass is required. */ public Query finishReduceTask() { if (root.needsPrePass()) { //log.info("cascade needed prepass"); query.query = root.postReform(); query.setStrategyClassname(RetrievalModel.class.getCanonicalName()); } else { Collector c = collectors.getCollector(documentcollectorclass.getSimpleName()); if (c != null) { query.setStrategyClassname(null); if (collectors.size() > 0) { for (Document d : ((CollectorDocument) c).getRetrievedDocs()) query.add(d); } } } return query; }
/** * After a retrieval-pass, the {@link Retriever} calls the results() function * in which the Strategy decides whether this was the final pass and results * are returned, or if a consecutive retrieval pass is required. * <p/> * @return {@link Query} object, which contains strategyclass=null and * queryresults if the final pass was processed, or a strategyclass with a * reformulated query if a consecutive retrieval pass is required. */ public Query finishReduceTask() { if (root.needsPrePass()) { //log.info("cascade needed prepass"); query.query = root.postReform(); query.setStrategyClassname(RetrievalModel.class.getCanonicalName()); } else { Collector c = collectors.getCollector(documentcollectorclass.getSimpleName()); if (c != null) { query.setStrategyClassname(null); if (collectors.size() > 0) { for (Document d : ((CollectorDocument) c).getRetrievedDocs()) query.add(d); } } } return query; }
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(); }