Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/reference/query-dsl/rule-query.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ preview::[]
Applies <<query-rules-apis,query rules>> to the query before returning results.
This feature is used to promote documents in the manner of a <<query-dsl-pinned-query>> based on matching defined rules.
If no matching query rules are defined, the "organic" matches for the query are returned.
All matching rules are applied in the order in which they appear in the query ruleset.

[NOTE]
====
Expand Down
3 changes: 3 additions & 0 deletions docs/reference/query-rules/apis/put-query-ruleset.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ Requires the `manage_search_query_rules` privilege.
`rules`::
(Required, array of objects) The specific rules included in this query ruleset.

There is a limit of 100 rules per ruleset.
This can be increased up to 1000 using the `xpack.applications.rules.max_rules_per_ruleset` cluster setting.

Each rule must have the following information:

- `rule_id` (Required, string) A unique identifier for this rule.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,9 @@ PUT /_query_rules/my-ruleset

The API response returns a results of `created` or `updated` depending on whether this was a new or edited ruleset.

NOTE: There is a limit of 100 rules per ruleset.
This can be increased up to 1000 using the `xpack.applications.rules.max_rules_per_ruleset` cluster setting.

[source,console-result]
----
{
Expand Down Expand Up @@ -217,3 +220,8 @@ GET /my-index-000001/_search

This rule query will match against `rule1` in the defined query ruleset, and will convert the organic query into a pinned query with `id1` and `id2` pinned as the top hits.
Any other matches from the organic query will be returned below the pinned results.

It's possible to have multiple rules in a ruleset match a single `rule_query`. In this case, the pinned documents are returned in the following order:

- Where the matching rule appears in the ruleset
- If multiple documents are specified in a single rule, in the order they are specified