ElasticSearch Queries in Rule Types #883
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This mod allows rule types to designate their own queries to be used to limit the data returned from ES. Updated the blacklist and whitelist rule types to use this. Basically the blacklist type creates a query with a bool should query, while the whitelist type creates a bool must not query. To ensure backwards compatibility, a new option called 'key_indexed' has been added to both which defaults to False if not present, which maintains currently functionality. Since only the filter part of the filtered query is used in the existing code (afaict), this code uses the query part of the filtered query so it should not cause any dsl syntax errors.
To allow the rule test to be able to access the new function, had to add a call to the load_modules function in test_file to ensure the class instance was loaded.