org.apache.lucene.facet

## Class FacetsCollector

- java.lang.Object
- - org.apache.lucene.search.SimpleCollector
  - - org.apache.lucene.facet.FacetsCollector

- All Implemented Interfaces:
    Collector, LeafCollector
  Direct Known Subclasses:
    RandomSamplingFacetsCollector

      public class FacetsCollector
      extends SimpleCollector
      implements Collector

  Collects hits for subsequent faceting. Once you've run a search and collect hits into this, instantiate one of the `Facets` subclasses to do the facet counting. Use the `search` utility methods to perform an "ordinary" search but also collect into a `Collector`.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `FacetsCollector.MatchingDocs` Holds the documents that were matched in the `LeafReaderContext`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FacetsCollector()` Default constructor
    `FacetsCollector(boolean keepScores)` Create this; if `keepScores` is true then a float[] is allocated to hold score of all hits.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `collect(int doc)`
    `protected void` | `doSetNextReader(LeafReaderContext context)`
    `boolean` | `getKeepScores()` True if scores were saved.
    `List<FacetsCollector.MatchingDocs>` | `getMatchingDocs()` Returns the documents matched by the query, one `FacetsCollector.MatchingDocs` per visited segment.
    `boolean` | `needsScores()`
    `static TopDocs` | `search(IndexSearcher searcher, Query q, int n, Collector fc)` Utility method, to search and also collect all hits into the provided `Collector`.
    `static TopFieldDocs` | `search(IndexSearcher searcher, Query q, int n, Sort sort, boolean doDocScores, boolean doMaxScore, Collector fc)` Utility method, to search and also collect all hits into the provided `Collector`.
    `static TopFieldDocs` | `search(IndexSearcher searcher, Query q, int n, Sort sort, Collector fc)` Utility method, to search and also collect all hits into the provided `Collector`.
    `static TopDocs` | `searchAfter(IndexSearcher searcher, ScoreDoc after, Query q, int n, Collector fc)` Utility method, to search and also collect all hits into the provided `Collector`.
    `static TopDocs` | `searchAfter(IndexSearcher searcher, ScoreDoc after, Query q, int n, Sort sort, boolean doDocScores, boolean doMaxScore, Collector fc)` Utility method, to search and also collect all hits into the provided `Collector`.
    `static TopDocs` | `searchAfter(IndexSearcher searcher, ScoreDoc after, Query q, int n, Sort sort, Collector fc)` Utility method, to search and also collect all hits into the provided `Collector`.
    `void` | `setScorer(Scorer scorer)`

    - ### Methods inherited from class org.apache.lucene.search.SimpleCollector

      `getLeafCollector`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.lucene.search.Collector

      `getLeafCollector`

- - ### Constructor Detail

    - #### FacetsCollector

          public FacetsCollector()

      Default constructor

    - #### FacetsCollector

          public FacetsCollector(boolean keepScores)

      Create this; if `keepScores` is true then a float[] is allocated to hold score of all hits.

  - ### Method Detail

    - #### getKeepScores

          public final boolean getKeepScores()

      True if scores were saved.

    - #### getMatchingDocs

          public List<FacetsCollector.MatchingDocs> getMatchingDocs()

      Returns the documents matched by the query, one `FacetsCollector.MatchingDocs` per visited segment.

    - #### collect

          public final void collect(int doc)
                             throws IOException

      Specified by:
        `collect` in interface `LeafCollector`
      Specified by:
        `collect` in class `SimpleCollector`
      Throws:
        `IOException`

    - #### needsScores

          public boolean needsScores()

      Specified by:
        `needsScores` in interface `Collector`

    - #### setScorer

          public final void setScorer(Scorer scorer)
                               throws IOException

      Specified by:
        `setScorer` in interface `LeafCollector`
      Overrides:
        `setScorer` in class `SimpleCollector`
      Throws:
        `IOException`

    - #### doSetNextReader

          protected void doSetNextReader(LeafReaderContext context)
                                  throws IOException

      Overrides:
        `doSetNextReader` in class `SimpleCollector`
      Throws:
        `IOException`

    - #### search

          public static TopDocs search(IndexSearcher searcher,
                                       Query q,
                                       int n,
                                       Collector fc)
                                throws IOException

      Utility method, to search and also collect all hits into the provided `Collector`.
      Throws:
        `IOException`

    - #### search

          public static TopFieldDocs search(IndexSearcher searcher,
                                            Query q,
                                            int n,
                                            Sort sort,
                                            Collector fc)
                                     throws IOException

      Utility method, to search and also collect all hits into the provided `Collector`.
      Throws:
        `IOException`

    - #### search

          public static TopFieldDocs search(IndexSearcher searcher,
                                            Query q,
                                            int n,
                                            Sort sort,
                                            boolean doDocScores,
                                            boolean doMaxScore,
                                            Collector fc)
                                     throws IOException

      Utility method, to search and also collect all hits into the provided `Collector`.
      Throws:
        `IOException`

    - #### searchAfter

          public static TopDocs searchAfter(IndexSearcher searcher,
                                            ScoreDoc after,
                                            Query q,
                                            int n,
                                            Collector fc)
                                     throws IOException

      Utility method, to search and also collect all hits into the provided `Collector`.
      Throws:
        `IOException`

    - #### searchAfter

          public static TopDocs searchAfter(IndexSearcher searcher,
                                            ScoreDoc after,
                                            Query q,
                                            int n,
                                            Sort sort,
                                            Collector fc)
                                     throws IOException

      Utility method, to search and also collect all hits into the provided `Collector`.
      Throws:
        `IOException`

    - #### searchAfter

          public static TopDocs searchAfter(IndexSearcher searcher,
                                            ScoreDoc after,
                                            Query q,
                                            int n,
                                            Sort sort,
                                            boolean doDocScores,
                                            boolean doMaxScore,
                                            Collector fc)
                                     throws IOException

      Utility method, to search and also collect all hits into the provided `Collector`.
      Throws:
        `IOException`

Copyright © 2000-2019 Apache Software Foundation. All Rights Reserved.