QueryPhase#execute IndexSearcher#search[luence类] searcher.search(query, queryCollector) IndexSearcher#search[luence类] search(leafContexts, createNormalizedWeight(query, results.needsScores()), results);
ContextIndexSearcher#search search(List<LeafReaderContext> leaves, Weight weight, Collector collector) 备注:ContextIndexSearcher extends IndexSearcher super.search(leaves, cancellableWeight, collector); protected void search(List<LeafReaderContext> leaves, Weight weight, Collector collector) throws IOException { for (LeafReaderContext ctx : leaves) { // search each subreader final LeafCollector leafCollector; try { leafCollector = collector.getLeafCollector(ctx); } catch (CollectionTerminatedException e) { }
CancellableCollector【ES】 // 继承关系 CancellableCollector --> FilterCollector[luncene] -> Collector[luncene] public LeafCollector getLeafCollector(LeafReaderContext context) throws IOException ret