kashkambath commented on issue #13753: URL: https://github.com/apache/lucene/issues/13753#issuecomment-2828705042
Hi @javanna, Your explanation makes sense that intra-segment concurrency can't be leveraged by the existing `DrillSidewaysScorer` since it goes through all the docs in a segment. However, `DrillSidewaysScorer` is only used when a non-concurrent execution of drill sideways occurs via [`DrillSideways#searchSequentially()`](https://github.com/apache/lucene/blob/e2e44bcf6baf7dc97f72b999a8d7e236700d574c/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java#L441-L465) AFAIK. If an `Executor` is passed into `DrillSideways` at its instantiation, then `DrillSideways` will execute the [`DrillSideways#searchConcurrently()`](https://github.com/apache/lucene/blob/e2e44bcf6baf7dc97f72b999a8d7e236700d574c/lucene/facet/src/java/org/apache/lucene/facet/DrillSideways.java#L483) codepath, which does not leverage the `DrillSidewaysScorer`. `searchConcurrently` instead runs in parallel N+1 queries for N facets (one base query + N holdout queries for facet counts.) I believe each of these N+1 queries are traditional search queries which could leverage inter-segment/intra-segment parallelism. -- 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