Class TopFieldCollectorManager

  • All Implemented Interfaces:
    CollectorManager<TopFieldCollector,​TopFieldDocs>

    public class TopFieldCollectorManager
    extends Object
    implements CollectorManager<TopFieldCollector,​TopFieldDocs>
    Create a TopFieldCollectorManager which uses a shared hit counter to maintain number of hits and a shared MaxScoreAccumulator to propagate the minimum score across segments if the primary sort is by relevancy.

    Note that a new collectorManager should be created for each search due to its internal states.

    • Constructor Detail

      • TopFieldCollectorManager

        public TopFieldCollectorManager​(Sort sort,
                                        int numHits,
                                        FieldDoc after,
                                        int totalHitsThreshold,
                                        boolean supportsConcurrency)
        Creates a new TopFieldCollectorManager 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 - the previous doc after which matching docs 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.
        supportsConcurrency - to use thread-safe and slower internal states for count tracking.
      • TopFieldCollectorManager

        public TopFieldCollectorManager​(Sort sort,
                                        int numHits,
                                        FieldDoc after,
                                        int totalHitsThreshold)
        Creates a new TopFieldCollectorManager from the given arguments, with thread-safe internal states.

        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 - the previous doc after which matching docs 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.
      • TopFieldCollectorManager

        public TopFieldCollectorManager​(Sort sort,
                                        int numHits,
                                        int totalHitsThreshold)
        Creates a new TopFieldCollectorManager from the given arguments, with thread-safe internal states.

        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.