-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Canvas] Integrate with search sessions #91197
Comments
Pinging @elastic/kibana-presentation (Team:Presentation) |
Still experimenting with this but it seems like the biggest lift at the moment will be to create the search strategy for ES SQL |
Related to #88790 |
Will close #75068 |
I would recommend splitting this into three tasks:
Tasks 1 and 2 should be pretty straight forward and quick and the team have allocated time in 7.13 to help you with them. 🙏 |
I can update that @bpintea is looking into async SQL support. |
I've updated this issue to breakdown work a bit more and noted where this could be split into multiple PRs. |
I'm pinging @ppisljar and @elastic/kibana-app-services because I would be interested to explore writing new data-fetching expressions in the Expressions plugin for everyone to use, (or at least placing them in an as-yet-defined package). Committing to new functions outside of Canvas also means we can move to them in Canvas and deprecate the old easily. |
I added a milestone line item to move the datasource functions to a shared plugin per our discussion in the expressions working group meeting this morning |
Closing this for the time being because we are not currently prioritizing Canvas tech debt or integrating Canvas more tightly with the rest of Kibana. We can reopen this one if our priorities change. |
Integrate Canvas's datasource functions with search sessions and pass search session ids to editor apps (Lens, Visualize) when trying to edit an embeddable from a Canvas workpad.
Potential gains to migrating to search sessions:
Background
In #94754, we migrated to the new search service provided by the data plugin to handle data retrieval. As a part of this work, we implemented a basic synchronous search strategy (search strategies just tell the search service how it should request the data from the Elasticsearch backend) for SQL. The esdocs, escount functions were migrated to use data.search (and the default ES search strategy) rather than attempt use the Elasticsearch client directly.
Search sessions are an additional feature of the search service that allows for saving queries or run them in the background.
For an excellent primer on Search Sessions, check out the Kibana dev docs: https://docs.elastic.dev/kibana-dev-docs/tutorials/data/search-and-sessions
The work on integrating search sessions into Canvas was originally blocked by SQL not having async support but that's been added through this PR: elastic/elasticsearch#73991
The Dashboard application is also going to be helpful on this project since Dashboard already handles the creation and handling of search sessions. We can copy a lot of patterns from dashboard in terms of when to create/modify search sessions and how to handle passing search sessions to editor applications (that way the editor app can re-use the search session when loading up the query which causes the visualization to be immediately available to the user with very little wait time since the query doesn't have to be re-run by the editor)
Milestones
Deployment
Each milestone here is marked with a number to denote when items can be broken into separate PRs.
The text was updated successfully, but these errors were encountered: