epotyom commented on code in PR #13702:
URL: https://github.com/apache/lucene/pull/13702#discussion_r1740698503


##########
lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java:
##########
@@ -414,62 +399,59 @@ public <R> ConcurrentDrillSidewaysResult<R> search(
 
   /**
    * Search using DrillDownQuery with custom collectors. This method can be 
used with any {@link
-   * CollectorOwner}s. It doesn't return anything because it is expected that 
you read results from
-   * provided {@link CollectorOwner}s.
-   *
-   * <p>To read the results, run {@link CollectorOwner#getResult()} for drill 
down and all drill
-   * sideways dimensions.
-   *
-   * <p>Note: use {@link Collections#unmodifiableList(List)} to wrap {@code
-   * drillSidewaysCollectorOwners} to convince compiler that it is safe to use 
List here.
-   *
-   * <p>Use {@link MultiCollectorManager} wrapped by {@link CollectorOwner} to 
collect both hits and
-   * facets for the entire query and/or for drill-sideways dimensions.
+   * CollectorManager}s.
    *
-   * <p>TODO: Class CollectorOwner was created so that we can ignore 
CollectorManager type C,
-   * because we want each dimensions to be able to use their own types. 
Alternatively, we can use
-   * typesafe heterogeneous container and provide CollectorManager type for 
each dimension to this
-   * method? I do like CollectorOwner approach as it seems more intuitive?
+   * <p>Note: Use {@link MultiCollectorManager} to collect both hits and 
facets for the entire query
+   * and/or for drill-sideways dimensions. You can also use it to wrap 
different types of {@link
+   * CollectorManager} for drill-sideways dimensions.
    */
-  public void search(
+  public <C extends Collector, T, K extends Collector, R> Result<T, R> search(
       final DrillDownQuery query,
-      CollectorOwner<?, ?> drillDownCollectorOwner,
-      List<CollectorOwner<?, ?>> drillSidewaysCollectorOwners)
+      CollectorManager<C, T> drillDownCollectorManager,
+      List<CollectorManager<K, R>> drillSidewaysCollectorManagers)
       throws IOException {
-    if (drillDownCollectorOwner == null) {
+    if (drillDownCollectorManager == null) {
       throw new IllegalArgumentException(
           "This search method requires client to provide drill down collector 
manager");
     }
-    if (drillSidewaysCollectorOwners == null) {
+    if (drillSidewaysCollectorManagers == null) {

Review Comment:
   I've added `@Deprecated` annotation to all `DrillSideways` methods and 
nested classes that depend on `FacetsCollector` and `searchConcurrently` as a 
separate commit: 
https://github.com/apache/lucene/pull/13702/commits/f2419ca14e8473ec901772eafa30c4c9677af107
 . Please let me know what you think. If it's what we want I'll also add a 
changelog entry.



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