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

SolrCloud: facet range option f.<field>.facet.mincount=1 omits buckets on response

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.5.1, 4.8.1
    • Fix Version/s: 5.0, 6.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      Description

      Attached

      • PDF with instructions on how to replicate.
      • data.xml to replicate index

      The f.<field>.facet.mincount option on a distributed search gives inconsistent list of buckets on a range facet.

      Experiencing that some buckets are ignored when using the option "f.<field>.facet.mincount=1".

      The Solr logs do not indicate any error or warning during execution.
      The debug=true option and increasing the log levels to the FacetComponent do not provide any hints to the behaviour.

      Replicated the issue on both Solr 4.5.1 & 4.8.1.

      Example,

      Removing the f.<field>.facet.mincount=1 option gives the expected list of buckets for the 6 documents matched.

      <lst name="facet_ranges">
      <lst name="price">
      <lst name="counts">
      <int name="0.0">0</int>
      <int name="50.0">1</int>
      <int name="100.0">0</int>
      <int name="150.0">3</int>
      <int name="200.0">0</int>
      <int name="250.0">1</int>
      <int name="300.0">0</int>
      <int name="350.0">0</int>
      <int name="400.0">0</int>
      <int name="450.0">0</int>
      <int name="500.0">0</int>
      <int name="550.0">0</int>
      <int name="600.0">0</int>
      <int name="650.0">0</int>
      <int name="700.0">0</int>
      <int name="750.0">1</int>
      <int name="800.0">0</int>
      <int name="850.0">0</int>
      <int name="900.0">0</int>
      <int name="950.0">0</int>
      </lst>
      <float name="gap">50.0</float>
      <float name="start">0.0</float>
      <float name="end">1000.0</float>
      <int name="before">0</int>
      <int name="after">0</int>
      <int name="between">2</int>
      </lst>
      </lst>

      Using the f.<field>.facet.mincount=1 option removes the 0 count buckets but will also omit bucket <int name="250.0">

      <lst name="facet_ranges">
      <lst name="price">
      <lst name="counts">
      <int name="50.0">1</int>
      <int name="150.0">3</int>
      <int name="750.0">1</int>
      </lst>
      <float name="gap">50.0</float>
      <float name="start">0.0</float>
      <float name="end">1000.0</float>
      <int name="before">0</int>
      <int name="after">0</int>
      <int name="between">4</int>
      </lst>
      </lst>

      Resubmitting the query renders a different bucket list
      (May need to resubmit a couple times)

      <lst name="facet_ranges">
      <lst name="price">
      <lst name="counts">
      <int name="150.0">3</int>
      <int name="250.0">1</int>
      </lst>
      <float name="gap">50.0</float>
      <float name="start">0.0</float>
      <float name="end">1000.0</float>
      <int name="before">0</int>
      <int name="after">0</int>
      <int name="between">2</int>
      </lst>
      </lst>

        Attachments

        1. data.xml
          6 kB
          Ronald Matamoros
        2. HowToReplicate.pdf
          339 kB
          Ronald Matamoros

          Issue Links

            Activity

              People

              • Assignee:
                erickerickson Erick Erickson
                Reporter:
                rmatamoros Ronald Matamoros
              • Votes:
                2 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: