Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-6581

Efficient DocValues support and numeric collapse field implementations for Collapse and Expand



    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 5.0, 6.0
    • None
    • None


      The 4x implementation of the CollapsingQParserPlugin and the ExpandComponent are optimized to work with a top level FieldCache. Top level FieldCaches have a very fast docID to top-level ordinal lookup. Fast access to the top-level ordinals allows for very high performance field collapsing on high cardinality fields.

      LUCENE-5666 unified the DocValues and FieldCache api's so that the top level FieldCache is no longer in regular use. Instead all top level caches are accessed through MultiDocValues.

      This ticket does the following:

      1) Optimizes Collapse and Expand to use MultiDocValues and makes this the default approach when collapsing on String fields

      2) Provides an option to use a top level FieldCache if the performance of MultiDocValues is a blocker. The mechanism for switching to the FieldCache is a new "hint" parameter. If the hint parameter is set to "top_fc" then the top-level FieldCache would be used for both Collapse and Expand.

      Example syntax:

      fq={!collapse field=x hint=TOP_FC}

      3) Adds numeric collapse field implementations.

      4) Resolves issue SOLR-6066


        1. renames.diff
          17 kB
          David Smiley
        2. SOLR-6581.patch
          125 kB
          Joel Bernstein
        3. SOLR-6581.patch
          124 kB
          Joel Bernstein
        4. SOLR-6581.patch
          122 kB
          Joel Bernstein
        5. SOLR-6581.patch
          122 kB
          Joel Bernstein
        6. SOLR-6581.patch
          122 kB
          Joel Bernstein
        7. SOLR-6581.patch
          118 kB
          Joel Bernstein
        8. SOLR-6581.patch
          117 kB
          Joel Bernstein
        9. SOLR-6581.patch
          102 kB
          Joel Bernstein
        10. SOLR-6581.patch
          92 kB
          Joel Bernstein
        11. SOLR-6581.patch
          87 kB
          Joel Bernstein
        12. SOLR-6581.patch
          84 kB
          Joel Bernstein
        13. SOLR-6581.patch
          59 kB
          Joel Bernstein
        14. SOLR-6581.patch
          54 kB
          Joel Bernstein
        15. SOLR-6581.patch
          9 kB
          Joel Bernstein
        16. SOLR-6581.patch
          4 kB
          Joel Bernstein

        Issue Links



              jbernste Joel Bernstein
              jbernste Joel Bernstein
              0 Vote for this issue
              10 Start watching this issue