Class LargeNumHitsTopDocsCollector

java.lang.Object
org.apache.lucene.sandbox.search.LargeNumHitsTopDocsCollector
All Implemented Interfaces:
Collector

public final class LargeNumHitsTopDocsCollector extends Object implements Collector
Optimized collector for large number of hits. The collector maintains an ArrayList of hits until it accumulates the requested number of hits. Post that, it builds a Priority Queue and starts filtering further hits based on the minimum competitive score.
  • Field Details

    • requestedHitCount

      private final int requestedHitCount
    • hits

      private List<ScoreDoc> hits
    • pq

    • pqTop

      ScoreDoc pqTop
    • totalHits

      int totalHits
  • Constructor Details

    • LargeNumHitsTopDocsCollector

      public LargeNumHitsTopDocsCollector(int requestedHitCount)
  • Method Details

    • scoreMode

      public ScoreMode scoreMode()
      Description copied from interface: Collector
      Indicates what features are required from the scorer.
      Specified by:
      scoreMode in interface Collector
    • getLeafCollector

      public LeafCollector getLeafCollector(LeafReaderContext context)
      Description copied from interface: Collector
      Create a new collector to collect the given context.
      Specified by:
      getLeafCollector in interface Collector
      Parameters:
      context - next atomic reader context
    • topDocs

      public TopDocs topDocs(int howMany)
      Returns the top docs that were collected by this collector.
    • populateResults

      protected void populateResults(ScoreDoc[] results, int howMany)
      Populates the results array with the ScoreDoc instances. This can be overridden in case a different ScoreDoc type should be returned.
    • newTopDocs

      protected TopDocs newTopDocs(ScoreDoc[] results)
      Returns a TopDocs instance containing the given results. If results is null it means there are no results to return, either because there were 0 calls to collect() or because the arguments to topDocs were invalid.
    • topDocs

      public TopDocs topDocs()
      Returns the top docs that were collected by this collector.