sejal-pawar opened a new pull request #159:
URL: https://github.com/apache/lucene/pull/159


   <!--
   _(If you are a project committer then you may remove some/all of the 
following template.)_
   
   Before creating a pull request, please file an issue in the ASF Jira system 
for Lucene:
   
   * https://issues.apache.org/jira/projects/LUCENE
   
   You will need to create an account in Jira in order to create an issue.
   
   The title of the PR should reference the Jira issue number in the form:
   
   * LUCENE-9945: Extend DrillSideways to support exposing FacetCollectors 
directly
   
   LUCENE must be fully capitalized. A short description helps people scanning 
pull requests for items they can work on.
   
   Properly referencing the issue in the title ensures that Jira is correctly 
updated with code review comments and commits. -->
   
   # Description
   
   (From [LUCENE-9945](https://issues.apache.org/jira/browse/LUCENE-9945))
   The DrillSideways logic currently encapsulates, 1) the creation of multiple 
FacetsCollector instances, and 2) the processing of those FacetsCollectors into 
a single Facets instance. While I suspect this works well for most common 
cases, and is simple to understand, it's difficult to extend to more advanced 
cases.
   
   LUCENE-9945 proposes extending DrillSideways to support exposing the 
underlying FacetsCollector instances if the user needs them, in addition to 
maintaining the current functionality for all of the more common cases. 
Specifically, I'd like to add both the "drill down" FacetsCollector and map of 
dim -> FacetsCollector for "drill sideways" to the DrillSidewaysResult and 
ConcurrentDrillSidewaysResult classes. While it's possible that a user can 
extend DrillSideways and override buildFacetsResult to keep track of these, it 
seems reasonable to provide this in DrillSideways itself so users don't need to 
sub-class for only this purpose.
   
   # Solution
   
   Modified DrillSideways itself to expose FacetCollector map of dimensions.
   
   # Tests
   
   ./gradlew test
   
   # Checklist
   
   Please review the following and check all that apply:
   
   - [x] I have reviewed the guidelines for [How to 
Contribute](https://wiki.apache.org/lucene/HowToContribute) and my code 
conforms to the standards described there to the best of my ability.
   - [x] I have created a Jira issue and added the issue ID to my pull request 
title.
   - [x] I have given Lucene maintainers 
[access](https://help.github.com/en/articles/allowing-changes-to-a-pull-request-branch-created-from-a-fork)
 to contribute to my PR branch. (optional but recommended)
   - [x] I have developed this patch against the `main` branch.
   - [x] I have run `./gradlew check`.
   - [ ] I have added tests for my changes.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to