Skip to content
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

[Feature Request] Conditional Search Processor #11782

Open
austintlee opened this issue Jan 5, 2024 · 4 comments
Open

[Feature Request] Conditional Search Processor #11782

austintlee opened this issue Jan 5, 2024 · 4 comments
Labels
enhancement Enhancement or improvement to existing feature or request Search Search query, autocomplete ...etc

Comments

@austintlee
Copy link
Contributor

Is your feature request related to a problem? Please describe

I would like to be able to define DAGs on search processors and have a processor run if a certain condition (an output or a result of another processor) is met.

Describe the solution you'd like

In terms of the language of describing a DAG, we should leverage what's already there in OpenSearch. I think there was some recent work in the AI Workflows project for conditional workflows? That and the stateful search process will probably give us most of what we need. We should also borrow from the Ingest pipeline as much as we can.

Related component

Search

Describe alternatives you've considered

No response

Additional context

No response

@austintlee austintlee added enhancement Enhancement or improvement to existing feature or request untriaged labels Jan 5, 2024
@github-actions github-actions bot added the Search Search query, autocomplete ...etc label Jan 5, 2024
@msfroh
Copy link
Collaborator

msfroh commented Jan 7, 2024

This is consistent with the original proposal around search pipelines. Down at the bottom of that issue, there's:

Just as ingest pipelines support conditional execution of processors and nested pipelines, we could add similar capabilities to search processors to effectively turn the pipeline into a directed acyclic graph. If that becomes the norm, we would likely want a visualization tool to view and edit a search pipeline (since nested JSON would be hard for a human to understand).

As it happens, that kind of visualization may come via the Flow framework: #9213

@dbwiddis
Copy link
Member

dbwiddis commented Jan 8, 2024

@austintlee we're starting to ideate on how to do that now, please comment on opensearch-project/flow-framework#367

@msfroh
Copy link
Collaborator

msfroh commented Jan 10, 2024

This is a duplicate of #6715 and #6714.

I'm going to suggest that we close out those issues, since we should probably deliver conditional processing in one shot (rather than breaking down request vs response).

@macohen
Copy link
Contributor

macohen commented Jan 10, 2024

@msfroh, in the search relevance weekly meeting, suggested that Ingest processors may have a good example that could be referenced for this; can also be used as a DAG potentially. The Flow project may also have a good connection to this issue: opensearch-project/flow-framework#367 and #9213

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement or improvement to existing feature or request Search Search query, autocomplete ...etc
Projects
Status: Later (6 months plus)
Development

No branches or pull requests

4 participants