epotyom commented on issue #13671:
URL: https://github.com/apache/lucene/issues/13671#issuecomment-2314681028

   @gsmiller , there is new method
   
   ```java
   public void DrillSideways#search(
     DrillDownQuery query,
     CollectorOwner<?, ?> drillDownCollectorOwner,
     List<CollectorOwner<?, ?>> drillSidewaysCollectorOwners)
   ```
   
   
([link](https://github.com/apache/lucene/blob/0f5359a2ac6687d466c71e5bf5fa8138a9c07934/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java#L434C1-L437C63))
 that I believe does what you describe - it takes `CollectorOwner` for drill 
down and for each drill sideways dimension. It's up to user to decide what they 
want to collect for each dimension, e.g. top hits, doc ID sets for the main 
`facets` module (`FacetsCollectorManager`), or facets using the new sandbox 
facets module. Using wildcard types for `CollectorOwner`s allows doing 
something like collecting top hits for one drill-sideways dimension, but 
collect facets for other dimension. So yeah, we will kind of loose this 
flexibility with the Option 1; but there is `MultiCollectorManager` workaround.
   
   I'm working on changing this method to something like:
   
   ```java
   public <C extends Collector, T, K extends Collector, R> Result<T, R> 
DrillSideways#search(
     DrillDownQuery query,
     CollectorManager<C, T> drillDownCollectorManagers,
     List<CollectorManager<K, R>> drillSidewaysCollectorManagers) {...}
   
   // We need to add another result class that doesn't depend on Facets
   public record Result<T, R>  (T drillDownResult, List<R> 
drillSidewaysResults) {}
   ```
   
   I believe changing it will be more or less straight forward.


-- 
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.

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to