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

Add the FacetStream to the Streaming API and Wire It Into the SQLHandler

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 6.0
    • Component/s: clients - java
    • Labels:
      None

      Description

      This ticket adds the FacetStream class to the Streaming API and wires it into the SQLHandler. The FacetStream will abstract the results from the JSON Facet API as a Stream of Tuples. This will provide an alternative to the RollupStream which uses Map/Reduce for aggregations.

      This ticket will also wire the FacetStream into the SQL interface, allowing users to switch between the RollupStream (Map/Reduce) and the FacetStream (JSON Facet API) as the underlying engine for SQL Group By aggregates. SQL clients can switch between Facets and Map Reduce with the new aggregationMode http param.

      1. SOLR-7093.patch
        49 kB
        Joel Bernstein
      2. SOLR-7093.patch
        48 kB
        Joel Bernstein
      3. SOLR-7093.patch
        48 kB
        Joel Bernstein
      4. SOLR-7093.patch
        41 kB
        Joel Bernstein
      5. SOLR-7903.patch
        29 kB
        Joel Bernstein
      6. SOLR-7903.patch
        29 kB
        Joel Bernstein
      7. SOLR-7903.patch
        27 kB
        Joel Bernstein
      8. SOLR-7903.patch
        23 kB
        Joel Bernstein
      9. SOLR-7903.patch
        17 kB
        Joel Bernstein

        Issue Links

          Activity

          Hide
          joel.bernstein Joel Bernstein added a comment - - edited

          Initial patch with basic tests. Tests do one level of facets with functions and a single sort on function output. Still lot's to do on this ticket but the patch shows the basic idea of how the FacetStream works.

          Show
          joel.bernstein Joel Bernstein added a comment - - edited Initial patch with basic tests. Tests do one level of facets with functions and a single sort on function output. Still lot's to do on this ticket but the patch shows the basic idea of how the FacetStream works.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Yonik Seeley, would be interesting to hear your feedback on the how the JSON facet API is integrated.

          Show
          joel.bernstein Joel Bernstein added a comment - Yonik Seeley , would be interesting to hear your feedback on the how the JSON facet API is integrated.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Index sort is now working with tests for single level facets.

          Show
          joel.bernstein Joel Bernstein added a comment - Index sort is now working with tests for single level facets.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Added first sub facet tests.

          Show
          joel.bernstein Joel Bernstein added a comment - Added first sub facet tests.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Added more nested facet tests

          Show
          joel.bernstein Joel Bernstein added a comment - Added more nested facet tests
          Hide
          joel.bernstein Joel Bernstein added a comment -

          I'm close to committing this ticket so I can start working on SOLR-7905.

          SOLR-7905 will exercise the FacetStream through the SQLHandler. So this will provide another layer of tests on top of what's already in this ticket.

          Show
          joel.bernstein Joel Bernstein added a comment - I'm close to committing this ticket so I can start working on SOLR-7905 . SOLR-7905 will exercise the FacetStream through the SQLHandler. So this will provide another layer of tests on top of what's already in this ticket.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Removed debugging

          Show
          joel.bernstein Joel Bernstein added a comment - Removed debugging
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Wired the FacetStream into the SQLHandler and added the first set of test cases to the TestSQLHandler. More test cases to follow...

          Show
          joel.bernstein Joel Bernstein added a comment - Wired the FacetStream into the SQLHandler and added the first set of test cases to the TestSQLHandler. More test cases to follow...
          Hide
          joel.bernstein Joel Bernstein added a comment -

          Added time series SQL test using the FacetStream

          Show
          joel.bernstein Joel Bernstein added a comment - Added time series SQL test using the FacetStream
          Hide
          joel.bernstein Joel Bernstein added a comment -

          New patch fixing up a bug with sorting found during manual testing. Manual testing continues and more test cases still to come.

          Show
          joel.bernstein Joel Bernstein added a comment - New patch fixing up a bug with sorting found during manual testing. Manual testing continues and more test cases still to come.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          New patch, continuing to iterate on the behavior of the sorting with multi-dimension aggregation.

          Show
          joel.bernstein Joel Bernstein added a comment - New patch, continuing to iterate on the behavior of the sorting with multi-dimension aggregation.
          Hide
          joel.bernstein Joel Bernstein added a comment -

          The latest patch is looking pretty good. I'll add a few more unit tests and then I think this ready to commit.

          Show
          joel.bernstein Joel Bernstein added a comment - The latest patch is looking pretty good. I'll add a few more unit tests and then I think this ready to commit.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 1702132 from Joel Bernstein in branch 'dev/trunk'
          [ https://svn.apache.org/r1702132 ]

          SOLR-7903: Add the FacetStream to the Streaming API and wire it into the SQLHandler

          Show
          jira-bot ASF subversion and git services added a comment - Commit 1702132 from Joel Bernstein in branch 'dev/trunk' [ https://svn.apache.org/r1702132 ] SOLR-7903 : Add the FacetStream to the Streaming API and wire it into the SQLHandler
          Hide
          erickerickson Erick Erickson added a comment -

          Re-opening to remove mis-typed push messages

          Show
          erickerickson Erick Erickson added a comment - Re-opening to remove mis-typed push messages
          Hide
          erickerickson Erick Erickson added a comment -

          Sorry for the noise

          Show
          erickerickson Erick Erickson added a comment - Sorry for the noise

            People

            • Assignee:
              joel.bernstein Joel Bernstein
              Reporter:
              joel.bernstein Joel Bernstein
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development