static TopFieldCollector scoringCollector( Sort sorting, int n ) throws IOException { return TopFieldCollector.create( sorting, n, false, true, false ); }
@Override public TopFieldCollector newCollector() throws IOException { final boolean fillFields = true; // TODO: don't pay the price for accurate hit counts by default return TopFieldCollector.create(rewrittenSort, cappedNumHits, after, fillFields, doDocScores, doMaxScore, true); }
return create(sort, numHits, null, fillFields, trackDocScores, trackMaxScore, trackTotalHits);
public static TopFieldCollector create(Sort sort, int numHits, boolean fillFields, boolean trackDocScores, boolean trackMaxScore) { return create(sort, numHits, fillFields, trackDocScores, trackMaxScore, true);
public static TopFieldCollector create(Sort sort, int numHits, FieldDoc after, boolean fillFields, boolean trackDocScores, boolean trackMaxScore) { return create(sort, numHits, after, fillFields, trackDocScores, trackMaxScore, true);
private TopDocs getTopDocs( Sort sort, int size ) throws IOException { TopDocs topDocs; if ( sort == Sort.RELEVANCE ) { TopScoreDocCollector collector = TopScoreDocCollector.create( size ); replayTo( collector ); topDocs = collector.topDocs(); } else { TopFieldCollector collector = TopFieldCollector.create( sort, size, false, true, false ); replayTo( collector ); topDocs = collector.topDocs(); } return topDocs; }
TopFieldCollector collector = TopFieldCollector.create(sort, topN, true, true, true, true);
private TopDocs getTopDocs( Sort sort, int size ) throws IOException { TopDocs topDocs; if ( sort == Sort.RELEVANCE ) { TopScoreDocCollector collector = TopScoreDocCollector.create( size ); replayTo( collector ); topDocs = collector.topDocs(); } else { TopFieldCollector collector = TopFieldCollector.create( sort, size, false, true, false ); replayTo( collector ); topDocs = collector.topDocs(); } return topDocs; }
@Override public TopFieldCollector newCollector() throws IOException { final boolean fillFields = true; // TODO: don't pay the price for accurate hit counts by default return TopFieldCollector.create(rewrittenSort, cappedNumHits, after, fillFields, doDocScores, doMaxScore, true); }
@Override public TopFieldCollector newCollector() throws IOException { final boolean fillFields = true; return TopFieldCollector.create(sort, cappedNumHits, after, fillFields, doDocScores, doMaxScore); }
@Override public TopFieldCollector newCollector() throws IOException { final boolean fillFields = true; return TopFieldCollector.create(sort, cappedNumHits, after, fillFields, doDocScores, doMaxScore); }
@Override public TopFieldCollector newCollector() throws IOException { return TopFieldCollector.create(sort, fTopN, after, true, doDocScores, doMaxScore, true); }
final TopDocsCollector<?> topDocsCollector = TopFieldCollector.create(sortAndFormats.sort, numHits, (FieldDoc) searchAfter, true, trackMaxScore, trackMaxScore, false); this.topDocsSupplier = topDocsCollector::topDocs;
topDocsCollector = TopFieldCollector.create(sort.sort, topN, true, subSearchContext.trackScores(), subSearchContext.trackScores(), true);
private void getHits() throws IOException { long time = System.nanoTime(); TopFieldCollector collector = TopFieldCollector.create(sort, numHits, false, true, false, false); searcher.search(query, collector); size = collector.getTotalHits(); offset += scoreDocs.length; scoreDocs = collector.topDocs(offset, numHits).scoreDocs; time = System.nanoTime() - time; final long timeMs = time / 1000000; log.debug("getHits() in {} ms. {}/{}/{}", new Object[] {timeMs, scoreDocs.length, numHits, size}); // double hits for next round numHits *= 2; } }
private void getHits() throws IOException { long time = System.nanoTime(); TopFieldCollector collector = TopFieldCollector.create(sort, numHits, false, true, false, false); searcher.search(query, collector); size = collector.getTotalHits(); offset += scoreDocs.length; scoreDocs = collector.topDocs(offset, numHits).scoreDocs; time = System.nanoTime() - time; final long timeMs = time / 1000000; log.debug("getHits() in {} ms. {}/{}/{}", new Object[] {timeMs, scoreDocs.length, numHits, size}); // double hits for next round numHits *= 2; } }
public SearchGroupDocs(GROUP_VALUE_TYPE groupValue, TopDocsCollector<?> collector) { this.groupValue = groupValue; this.collector = collector; } }
private TopDocsCollector buildTopDocCollector(final Sort sort, final int numHits, final boolean bNeedScore) throws IOException { if (numHits == 0) return null; final TopDocsCollector topDocsCollector; if (sort != null) topDocsCollector = TopFieldCollector.create(sort, numHits, true, bNeedScore, bNeedScore); else topDocsCollector = TopScoreDocCollector.create(numHits); return add(topDocsCollector); }
TopDocsReducer(Sort withinGroupSort, int maxDocsPerGroup, boolean getScores, boolean getMaxScores, boolean fillSortFields) { this.needsScores = getScores || getMaxScores || withinGroupSort.needsScores(); this.supplier = withinGroupSort == Sort.RELEVANCE ? () -> TopScoreDocCollector.create(maxDocsPerGroup) : () -> TopFieldCollector.create(withinGroupSort, maxDocsPerGroup, fillSortFields, getScores, getMaxScores, true); // TODO: disable exact counts? }
TopDocsCollector<?> topDocsCollector; if (sort() != null) { topDocsCollector = TopFieldCollector.create(sort().sort, topN, true, trackScores(), trackScores(), true); } else { topDocsCollector = TopScoreDocCollector.create(topN);