-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding the SearchPhaseResultsProcessor interface in Search Pipeline #7283
Adding the SearchPhaseResultsProcessor interface in Search Pipeline #7283
Conversation
b70ef2e
to
7945f01
Compare
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
server/src/main/java/org/opensearch/search/pipeline/SearchPipelineService.java
Outdated
Show resolved
Hide resolved
7945f01
to
81f1a4a
Compare
Gradle Check (Jenkins) Run Completed with:
|
@navneet1v needs rebase please |
@navneet1v I just merged the latest from main, which should fix the tests now. |
Gradle Check (Jenkins) Run Completed with:
|
I'm working on resolving the (many) conflicts that arose from #8053 getting merged. I'll post the new commits shortly. |
81baeda
to
096417c
Compare
Ugh -- I think I clobbered @navneet1v's recent changes by force-pushing after rebase. I'm going to see if I can recover them (or reapply them manually). |
096417c
to
81baeda
Compare
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Michael Froh <froh@amazon.com>
Gradle Check (Jenkins) Run Completed with:
|
The backport to
To backport manually, run these commands in your terminal: # Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/backport-2.x 2.x
# Navigate to the new working tree
pushd ../.worktrees/backport-2.x
# Create a new branch
git switch --create backport/backport-7283-to-2.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 b33979a4d95f728ee3080eb6983d93e024fb7ba2
# Push it to GitHub
git push --set-upstream origin backport/backport-7283-to-2.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/backport-2.x Then, create a pull request where the |
@navneet1v needs manual backport to |
Yes I will take care of that. Thanks everyone. This PR was pending for long time and took more effort than I expected. |
…pensearch-project#7283) * Initial code for adding the SearchPhaseInjectorProcessor interface in Search Pipeline Signed-off-by: Navneet Verma <navneev@amazon.com> * Pass PipelinedRequest to SearchAsyncActions We should resolve a search pipeline once at the start of a search request and then propagate that pipeline through the async actions. When completing a search phase, we will then use that pipeline to inject behavior (if applicable). Signed-off-by: Michael Froh <froh@amazon.com> * Renamed SearchPhaseInjectorProcessor to SearchPhaseResultsProcessor and fixed the comments Signed-off-by: Navneet Verma <navneev@amazon.com> * Make PipelinedSearchRequest extend SearchRequest Rather than wrapping a SearchRequest in a PipelinedSearchRequest, changes are less intrusive if we say that a PipelinedSearchRequest "is a" SearchRequest. Signed-off-by: Michael Froh <froh@amazon.com> * Revert code change from merge conflict Signed-off-by: Michael Froh <froh@amazon.com> * Updated the changelog with more appropiate wording for the change. Signed-off-by: Navneet Verma <navneev@amazon.com> * Fixed Typos in the code Signed-off-by: Navneet Verma <navneev@amazon.com> * Fixing comments relating to return of SearchPhaseResults from processor Signed-off-by: Navneet Verma <navneev@amazon.com> * Moved SearchPhaseName enum in separate class and fixed comments. Signed-off-by: Navneet Verma <navneev@amazon.com> * Resolve remaining merge conflict Signed-off-by: Michael Froh <froh@amazon.com> --------- Signed-off-by: Navneet Verma <navneev@amazon.com> Signed-off-by: Michael Froh <froh@amazon.com> Co-authored-by: Michael Froh <froh@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com>
…7283) (#8512) Add new search pipeline processor type, SearchPhaseResultsProcessor, that can modify the result of one search phase before starting the next phase. Along with this, added the code to resolve the Search pipeline once and added new SearchRequest type PipelinedRequest. Backport of PR: #7283 --------- Signed-off-by: Navneet Verma <navneev@amazon.com> Co-authored-by: Michael Froh <froh@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com>
…pensearch-project#7283) * Initial code for adding the SearchPhaseInjectorProcessor interface in Search Pipeline Signed-off-by: Navneet Verma <navneev@amazon.com> * Pass PipelinedRequest to SearchAsyncActions We should resolve a search pipeline once at the start of a search request and then propagate that pipeline through the async actions. When completing a search phase, we will then use that pipeline to inject behavior (if applicable). Signed-off-by: Michael Froh <froh@amazon.com> * Renamed SearchPhaseInjectorProcessor to SearchPhaseResultsProcessor and fixed the comments Signed-off-by: Navneet Verma <navneev@amazon.com> * Make PipelinedSearchRequest extend SearchRequest Rather than wrapping a SearchRequest in a PipelinedSearchRequest, changes are less intrusive if we say that a PipelinedSearchRequest "is a" SearchRequest. Signed-off-by: Michael Froh <froh@amazon.com> * Revert code change from merge conflict Signed-off-by: Michael Froh <froh@amazon.com> * Updated the changelog with more appropiate wording for the change. Signed-off-by: Navneet Verma <navneev@amazon.com> * Fixed Typos in the code Signed-off-by: Navneet Verma <navneev@amazon.com> * Fixing comments relating to return of SearchPhaseResults from processor Signed-off-by: Navneet Verma <navneev@amazon.com> * Moved SearchPhaseName enum in separate class and fixed comments. Signed-off-by: Navneet Verma <navneev@amazon.com> * Resolve remaining merge conflict Signed-off-by: Michael Froh <froh@amazon.com> --------- Signed-off-by: Navneet Verma <navneev@amazon.com> Signed-off-by: Michael Froh <froh@amazon.com> Co-authored-by: Michael Froh <froh@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com>
…pensearch-project#7283) * Initial code for adding the SearchPhaseInjectorProcessor interface in Search Pipeline Signed-off-by: Navneet Verma <navneev@amazon.com> * Pass PipelinedRequest to SearchAsyncActions We should resolve a search pipeline once at the start of a search request and then propagate that pipeline through the async actions. When completing a search phase, we will then use that pipeline to inject behavior (if applicable). Signed-off-by: Michael Froh <froh@amazon.com> * Renamed SearchPhaseInjectorProcessor to SearchPhaseResultsProcessor and fixed the comments Signed-off-by: Navneet Verma <navneev@amazon.com> * Make PipelinedSearchRequest extend SearchRequest Rather than wrapping a SearchRequest in a PipelinedSearchRequest, changes are less intrusive if we say that a PipelinedSearchRequest "is a" SearchRequest. Signed-off-by: Michael Froh <froh@amazon.com> * Revert code change from merge conflict Signed-off-by: Michael Froh <froh@amazon.com> * Updated the changelog with more appropiate wording for the change. Signed-off-by: Navneet Verma <navneev@amazon.com> * Fixed Typos in the code Signed-off-by: Navneet Verma <navneev@amazon.com> * Fixing comments relating to return of SearchPhaseResults from processor Signed-off-by: Navneet Verma <navneev@amazon.com> * Moved SearchPhaseName enum in separate class and fixed comments. Signed-off-by: Navneet Verma <navneev@amazon.com> * Resolve remaining merge conflict Signed-off-by: Michael Froh <froh@amazon.com> --------- Signed-off-by: Navneet Verma <navneev@amazon.com> Signed-off-by: Michael Froh <froh@amazon.com> Co-authored-by: Michael Froh <froh@amazon.com> Co-authored-by: Andrew Ross <andrross@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
Description
Add new search pipeline processor type, SearchPhaseResultsProcessor, that can modify the result of one search phase before starting the next phase.
Along with this, added the code to resolve the Search pipeline once and added new SearchRequest type PipelinedRequest.
Issues Resolved
RFC: opensearch-project/neural-search#152
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.