Open
Description
Is your feature request related to a problem? Please describe
Currently with PR #17941, SHOULD clauses in bool queries are restricted to operate on the same dimension due to Star Tree's pre-aggregation structure. However, there are valid use cases where SHOULD across dimensions would be useful.
Example Use Case:
{
"bool": {
"should": [
{
"bool": {
"must": [
{"term": {"status": 200}},
{"term": {"method": "GET"}}
]
}
},
{
"bool": {
"must": [
{"term": {"status": 404}},
{"term": {"method": "POST"}}
]
}
}
]
}
}
This query means: Match if either: (status=200 AND method=GET) OR (status=404 AND method=POST)
Current Behaviour:
- Rejects queries with SHOULD across dimensions
- Returns null from StarTreeFilterProvider
- Falls back to default implementation
Describe the solution you'd like
- Analyse if such queries can be efficiently supported with Star Tree structure
- Consider performance implications
- Evaluate if certain patterns can be optimised
Related component
Search:Aggregations
Describe alternatives you've considered
No response
Additional context
No response
Metadata
Metadata
Assignees
Type
Projects
Status
🆕 New