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

Make single numeric value searching more performant #108152

Open
benwtrent opened this issue May 1, 2024 · 1 comment
Open

Make single numeric value searching more performant #108152

benwtrent opened this issue May 1, 2024 · 1 comment
Labels
>enhancement :Search/Search Search-related issues that do not fall into other categories Team:Search Meta label for search team

Comments

@benwtrent
Copy link
Member

Description

Right now, when we search for a single numerical value (be it ip_address, port, etc.), we utilize the PointRangeQuery in Lucene with the upper and lower ranges being equivalent.

This will likely mean we build a FixedBitSet for the matching documents and this cost can add up significantly. An example of this extreme cost can be seen in various security alert rules that commonly search multiple thousand disjunctions, where each disjunction is a conjunction looking for a single IP address or a single port.

We need to do this better.

Can we optimize the single point case?

Maybe with inspiration from PointInSetQuery?

@benwtrent benwtrent added >enhancement :Search/Search Search-related issues that do not fall into other categories labels May 1, 2024
@elasticsearchmachine elasticsearchmachine added the Team:Search Meta label for search team label May 1, 2024
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-search (Team:Search)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>enhancement :Search/Search Search-related issues that do not fall into other categories Team:Search Meta label for search team
Projects
None yet
Development

No branches or pull requests

2 participants