-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Expose range values of other fields to coordinating nodes #81457
Comments
Pinging @elastic/es-search (Team:Search) |
I am a bit nervous about allowing to store range values of arbitrary fields in the cluster state. Especially as the main reason would be to shortcut queries that don't filter on |
Could we at least add the Especially considering our security documentation recommends and the prebuilt detection rules often use it. From Configure advanced rule settings (optional):
From Troubleshoot ingestion pipeline delay:
|
We discussed this with the team. We said that while the optimization works well for More importantly, there is common agreement that it should not be required to skip shards on the coordinating node at all times. It's a nice optimization when querying by timestamp, but the can match phase that happens on the shards is supposed to be fast and efficient. Hitting a shard on the frozen tier is not necessarily a bug, and we should investigate deeper when this causes problems to see what the real issue is. That said, we don't see value in adding this feature, as its cost would outweigh the benefits. We will reconsider if we collect evidence that outlines why hitting shards on the frozen tier should be avoided at all cost. |
Today, we use the range values of the
@timestamp
field exposed to coordinating nodes (via the cluster states) to skip shards that won't match search queries. This is important for searchable snapshots and frozen indices. There's a need to expose the range values of other fields when users use them (and with@timestamp
) to filter data. Another optimization is to track the range values of actively indexing shards (see #78776 (comment)) so we can efficiently skip those shards in the can_match phase and avoid trigger refreshing on them.The text was updated successfully, but these errors were encountered: