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

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.5.1, 4.8.1
    • 5.0, 6.0
    • None
    • None

    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. HowToReplicate.pdf
          339 kB
          Ronald Matamoros
        2. data.xml
          6 kB
          Ronald Matamoros

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: