Class TopFieldCollector

    • Method Detail

      • scoreMode

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

        public static TopFieldCollector create​(Sort sort,
                                               int numHits,
                                               int totalHitsThreshold)
        Creates a new TopFieldCollector from the given arguments.

        NOTE: The instances returned by this method pre-allocate a full array of length numHits.

        Parameters:
        sort - the sort criteria (SortFields).
        numHits - the number of results to collect.
        totalHitsThreshold - the number of docs to count accurately. If the query matches more than totalHitsThreshold hits then its hit count will be a lower bound. On the other hand if the query matches less than or exactly totalHitsThreshold hits then the hit count of the result will be accurate. Integer.MAX_VALUE may be used to make the hit count accurate, but this will also make query processing slower.
        Returns:
        a TopFieldCollector instance which will sort the results by the sort criteria.
      • create

        public static TopFieldCollector create​(Sort sort,
                                               int numHits,
                                               FieldDoc after,
                                               int totalHitsThreshold)
        Creates a new TopFieldCollector from the given arguments.

        NOTE: The instances returned by this method pre-allocate a full array of length numHits.

        Parameters:
        sort - the sort criteria (SortFields).
        numHits - the number of results to collect.
        after - only hits after this FieldDoc will be collected
        totalHitsThreshold - the number of docs to count accurately. If the query matches more than totalHitsThreshold hits then its hit count will be a lower bound. On the other hand if the query matches less than or exactly totalHitsThreshold hits then the hit count of the result will be accurate. Integer.MAX_VALUE may be used to make the hit count accurate, but this will also make query processing slower.
        Returns:
        a TopFieldCollector instance which will sort the results by the sort criteria.
      • createSharedManager

        public static CollectorManager<TopFieldCollector,​TopFieldDocs> createSharedManager​(Sort sort,
                                                                                                 int numHits,
                                                                                                 FieldDoc after,
                                                                                                 int totalHitsThreshold)
        Create a CollectorManager which uses a shared hit counter to maintain number of hits and a shared MaxScoreAccumulator to propagate the minimum score accross segments if the primary sort is by relevancy.
      • populateScores

        public static void populateScores​(ScoreDoc[] topDocs,
                                          IndexSearcher searcher,
                                          Query query)
                                   throws IOException
        Populate scores of the given topDocs.
        Parameters:
        topDocs - the top docs to populate
        searcher - the index searcher that has been used to compute topDocs
        query - the query that has been used to compute topDocs
        Throws:
        IllegalArgumentException - if there is evidence that topDocs have been computed against a different searcher or a different query.
        IOException
        WARNING: This API is experimental and might change in incompatible ways in the next release.
      • isEarlyTerminated

        public boolean isEarlyTerminated()
        Return whether collection terminated early.