Rule queryedit

This functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.

rule_query was renamed to rule in 8.15.0. The old syntax using rule_query and ruleset_id is deprecated and will be removed in a future release, so it is strongly advised to migrate existing rule queries to the new API structure.

Applies query rules to the query before returning results. This feature is used to promote documents in the manner of a 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.

To use the rule query, you first need a defined set of query rules. Use the query rules management APIs to create and manage query rules. For more information and examples see Searching with query rules.

Example requestedit

GET /_search
{
  "query": {
    "rule": {
      "match_criteria": {
        "user_query": "pugs"
      },
      "ruleset_ids": ["my-ruleset"],
      "organic": {
        "match": {
          "description": "puggles"
        }
      }
    }
  }
}

Top-level parameters for rule_queryedit

ruleset_ids
(Required, array) An array of one or more unique query ruleset ID with query-based rules to match and apply as applicable. Rulesets and their associated rules are evaluated in the order in which they are specified in the query and ruleset. The maximum number of rulesets to specify is 10.
match_criteria
(Required, object) Defines the match criteria to apply to rules in the given query ruleset. Match criteria should match the keys defined in the criteria.metadata field of the rule.
organic
(Required, object) Any choice of query used to return results, that may be modified by matching query rules. If no query rules are matched and applied, this query will be executed with no modification.