#17593 Add Extension Points For Pre and Post Collection of Scores in QueryPhase - #18814
Conversation
|
❌ Gradle check result for da66380: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
❌ Gradle check result for 0a0f121: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
|
@bugmakerrrrrr can you take another look and we can get this in? |
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
|
@bugmakerrrrrr Updated, please see and let me know |
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
|
❌ Gradle check result for bfad37b: FAILURE Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change? |
Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
|
@bugmakerrrrrr Please review. |
bugmakerrrrrr
left a comment
There was a problem hiding this comment.
LGTM. Thanks @atris
…tion of Scores in QueryPhase (opensearch-project#18814) Signed-off-by: Atri Sharma <atri.jiit@gmail.com> Signed-off-by: sunqijun.jun <sunqijun.jun@bytedance.com>
…tion of Scores in QueryPhase (opensearch-project#18814) Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
…tion of Scores in QueryPhase (opensearch-project#18814) Signed-off-by: Atri Sharma <atri.jiit@gmail.com>
Resolves #17593
Problem
Plugins implementing hybrid queries and neural search currently rely on AggregationProcessor workarounds to inject custom CollectorManager implementations. This approach is fragile and breaks when the aggregation system changes.
Solution
Add extension points directly in QueryPhase around the actual score collection operation:
QueryPhaseExtensioninterface withbeforeScoreCollection()andafterScoreCollection()methodsQueryPhaseSearcher.queryPhaseExtensions()DefaultQueryPhaseSearcherwith proper error isolationImplementation
New interface:
Testing
Unit tests verify:
No existing functionality affected.