expression universal filtering approach #111422
Labels
Feature:ExpressionLanguage
Interpreter expression language (aka canvas pipeline)
impact:low
Addressing this issue will have a low level of impact on the quality/strength of our product.
loe:large
Large Level of Effort
Expressions are currently consumed from 1. visualizations and lens which use
Filter Bar
,filterManager
and 2. canvas where filterbar is not used and filtering is taking a different approach.All expression consumers should implement filtering in the following manner:
Filter[]
structure(possibly they emit other actions which result in a chain of actions being executed where the final result is filter)
filterManager
filterManager
to expressions as part ofSearchContext
kibana
function reads fromSearchContext
and outputs itkibana_context
add additional filters,queries etc to the inputremove_filter
andselect_filter
functions allow further subselection of filters bygroup
orowner
Filter[]
structure (passed as input) to generate queriesSpecific renderers can decide to look just at a group of filters:
kibana_context | select_filters group=mygroup | essql .... | table
We can have some renderers not being affected by the filters they generate:
kibana_context | remove_filters owner=mycontrol | essql | table id=mycontrol
We can have multiple renderers being dependent on each other (parent/child relationship)
panel 1 (parent):
kibana_context | remove_filters owner=mycontrol1 owner=mycontrol2 | essql | table id=mycontrol1
panel 2 (child):
kibana_context | remove_filters owner=mycontrol2 | essql | table id=mycontrol2
We can have a renderer with multiple datasets provided
group_control panel={group_panel id=mycontrol1 data={kibana_context | remove_filters owner=mycontrol1 owner=mycontrol2 | essql | table id=mycontrol1} panel={group_panel id=mycontrol2 data={kibana_context | remove_filters owner=mycontrol2 | essql | table id=mycontrol2}
The text was updated successfully, but these errors were encountered: