Path parameters

  • ruleset_idstring Required

    The unique identifier of the query ruleset containing the rule to be created or updated.

  • rule_idstring Required

    The unique identifier of the query rule within the specified ruleset to be created or updated.

application/json

BodyRequired

  • typestring Required

    Values are pinned or exclude.

  • criteriaobject | array[object] Required

    The criteria that must be met for the rule to be applied. If multiple criteria are specified for a rule, all criteria must be met for the rule to be applied.

    One of:
    Hide attributes Show attributes object
    • typestring Required

      Values are global, exact, exact_fuzzy, fuzzy, prefix, suffix, contains, lt, lte, gt, gte, or always.

    • metadatastring

      The metadata field to match against. This metadata will be used to match against match_criteria sent in the rule. It is required for all criteria types except always.

    • valuesarray[object]

      The values to match against the metadata field. Only one value must match for the criteria to be met. It is required for all criteria types except always.

  • actionsobject Required
    Hide actions attributes Show actions attributes object
    • idsarray[string]

      The unique document IDs of the documents to apply the rule to. Only one of ids or docs may be specified and at least one must be specified.

    • docsarray[object]

      The documents to apply the rule to. Only one of ids or docs may be specified and at least one must be specified. There is a maximum value of 100 documents in a rule. You can specify the following attributes for each document:

      • _index: The index of the document to pin.
      • _id: The unique document ID.
      Hide docs attributes Show docs attributes object
  • prioritynumber

Responses

  • 200 application/json
    Hide response attribute Show response attribute object
    • resultstring Required

      Values are created, updated, deleted, not_found, or noop.

PUT /_query_rules/{ruleset_id}/_rule/{rule_id}
POST _query_rules/my-ruleset/_test
{
  "match_criteria": {
    "query_string": "puggles"
  }
}
resp = client.query_rules.test(
    ruleset_id="my-ruleset",
    match_criteria={
        "query_string": "puggles"
    },
)
const response = await client.queryRules.test({
  ruleset_id: "my-ruleset",
  match_criteria: {
    query_string: "puggles",
  },
});
response = client.query_rules.test(
  ruleset_id: "my-ruleset",
  body: {
    "match_criteria": {
      "query_string": "puggles"
    }
  }
)
$resp = $client->queryRules()->test([
    "ruleset_id" => "my-ruleset",
    "body" => [
        "match_criteria" => [
            "query_string" => "puggles",
        ],
    ],
]);
curl -X POST -H "Authorization: ApiKey $ELASTIC_API_KEY" -H "Content-Type: application/json" -d '{"match_criteria":{"query_string":"puggles"}}' "$ELASTICSEARCH_URL/_query_rules/my-ruleset/_test"
Request example
Run `POST _query_rules/my-ruleset/_test` to test a ruleset. Provide the match criteria that you want to test against.
{
  "match_criteria": {
    "query_string": "puggles"
  }
}