Skip to content

Commit 14af7cf

Browse files
authored
[Query Rules] Update Query Rules API for 8.15 (#2639)
* Mark existing query rules APIs as GA * Add individual CRUD API calls * Linting * PR feedback * PR feedback
1 parent 743a09e commit 14af7cf

26 files changed

+1213
-101
lines changed

output/openapi/elasticsearch-openapi.json

Lines changed: 216 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -24526,6 +24526,183 @@
2452624526
}
2452724527
}
2452824528
},
24529+
"/_query_rules/{ruleset_id}/_rule/{rule_id}": {
24530+
"get": {
24531+
"tags": [
24532+
"query_rule.get"
24533+
],
24534+
"summary": "Returns the details about a query rule within a query ruleset",
24535+
"externalDocs": {
24536+
"url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-query-rule.html"
24537+
},
24538+
"operationId": "query-rule-get",
24539+
"parameters": [
24540+
{
24541+
"in": "path",
24542+
"name": "ruleset_id",
24543+
"description": "The unique identifier of the query ruleset containing the rule to retrieve",
24544+
"required": true,
24545+
"deprecated": false,
24546+
"schema": {
24547+
"$ref": "#/components/schemas/_types:Id"
24548+
},
24549+
"style": "simple"
24550+
},
24551+
{
24552+
"in": "path",
24553+
"name": "rule_id",
24554+
"description": "The unique identifier of the query rule within the specified ruleset to retrieve",
24555+
"required": true,
24556+
"deprecated": false,
24557+
"schema": {
24558+
"$ref": "#/components/schemas/_types:Id"
24559+
},
24560+
"style": "simple"
24561+
}
24562+
],
24563+
"responses": {
24564+
"200": {
24565+
"description": "",
24566+
"content": {
24567+
"application/json": {
24568+
"schema": {
24569+
"$ref": "#/components/schemas/query_ruleset._types:QueryRule"
24570+
}
24571+
}
24572+
}
24573+
}
24574+
}
24575+
},
24576+
"put": {
24577+
"tags": [
24578+
"query_rule.put"
24579+
],
24580+
"summary": "Creates or updates a query rule within a query ruleset",
24581+
"externalDocs": {
24582+
"url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/put-query-rule.html"
24583+
},
24584+
"operationId": "query-rule-put",
24585+
"parameters": [
24586+
{
24587+
"in": "path",
24588+
"name": "ruleset_id",
24589+
"description": "The unique identifier of the query ruleset containing the rule to be created or updated",
24590+
"required": true,
24591+
"deprecated": false,
24592+
"schema": {
24593+
"$ref": "#/components/schemas/_types:Id"
24594+
},
24595+
"style": "simple"
24596+
},
24597+
{
24598+
"in": "path",
24599+
"name": "rule_id",
24600+
"description": "The unique identifier of the query rule within the specified ruleset to be created or updated",
24601+
"required": true,
24602+
"deprecated": false,
24603+
"schema": {
24604+
"$ref": "#/components/schemas/_types:Id"
24605+
},
24606+
"style": "simple"
24607+
}
24608+
],
24609+
"requestBody": {
24610+
"content": {
24611+
"application/json": {
24612+
"schema": {
24613+
"type": "object",
24614+
"properties": {
24615+
"type": {
24616+
"$ref": "#/components/schemas/query_ruleset._types:QueryRuleType"
24617+
},
24618+
"criteria": {
24619+
"type": "array",
24620+
"items": {
24621+
"$ref": "#/components/schemas/query_ruleset._types:QueryRuleCriteria"
24622+
}
24623+
},
24624+
"actions": {
24625+
"$ref": "#/components/schemas/query_ruleset._types:QueryRuleActions"
24626+
}
24627+
},
24628+
"required": [
24629+
"type",
24630+
"criteria",
24631+
"actions"
24632+
]
24633+
}
24634+
}
24635+
},
24636+
"required": true
24637+
},
24638+
"responses": {
24639+
"200": {
24640+
"description": "",
24641+
"content": {
24642+
"application/json": {
24643+
"schema": {
24644+
"type": "object",
24645+
"properties": {
24646+
"result": {
24647+
"$ref": "#/components/schemas/_types:Result"
24648+
}
24649+
},
24650+
"required": [
24651+
"result"
24652+
]
24653+
}
24654+
}
24655+
}
24656+
}
24657+
}
24658+
},
24659+
"delete": {
24660+
"tags": [
24661+
"query_rule.delete"
24662+
],
24663+
"summary": "Deletes a query rule within a query ruleset",
24664+
"externalDocs": {
24665+
"url": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-query-rule.html"
24666+
},
24667+
"operationId": "query-rule-delete",
24668+
"parameters": [
24669+
{
24670+
"in": "path",
24671+
"name": "ruleset_id",
24672+
"description": "The unique identifier of the query ruleset containing the rule to delete",
24673+
"required": true,
24674+
"deprecated": false,
24675+
"schema": {
24676+
"$ref": "#/components/schemas/_types:Id"
24677+
},
24678+
"style": "simple"
24679+
},
24680+
{
24681+
"in": "path",
24682+
"name": "rule_id",
24683+
"description": "The unique identifier of the query rule within the specified ruleset to delete",
24684+
"required": true,
24685+
"deprecated": false,
24686+
"schema": {
24687+
"$ref": "#/components/schemas/_types:Id"
24688+
},
24689+
"style": "simple"
24690+
}
24691+
],
24692+
"responses": {
24693+
"200": {
24694+
"description": "",
24695+
"content": {
24696+
"application/json": {
24697+
"schema": {
24698+
"$ref": "#/components/schemas/_types:AcknowledgedResponseBase"
24699+
}
24700+
}
24701+
}
24702+
}
24703+
}
24704+
}
24705+
},
2452924706
"/_query_rules/{ruleset_id}": {
2453024707
"get": {
2453124708
"tags": [
@@ -56994,7 +57171,7 @@
5699457171
"minProperties": 1,
5699557172
"maxProperties": 1
5699657173
},
56997-
"rule_query": {
57174+
"rule": {
5699857175
"$ref": "#/components/schemas/_types.query_dsl:RuleQuery"
5699957176
},
5700057177
"script": {
@@ -60511,16 +60688,19 @@
6051160688
"organic": {
6051260689
"$ref": "#/components/schemas/_types.query_dsl:QueryContainer"
6051360690
},
60514-
"ruleset_id": {
60515-
"$ref": "#/components/schemas/_types:Id"
60691+
"ruleset_ids": {
60692+
"type": "array",
60693+
"items": {
60694+
"$ref": "#/components/schemas/_types:Id"
60695+
}
6051660696
},
6051760697
"match_criteria": {
6051860698
"type": "object"
6051960699
}
6052060700
},
6052160701
"required": [
6052260702
"organic",
60523-
"ruleset_id",
60703+
"ruleset_ids",
6052460704
"match_criteria"
6052560705
]
6052660706
}
@@ -92721,25 +92901,6 @@
9272192901
"aggregations"
9272292902
]
9272392903
},
92724-
"query_ruleset._types:QueryRuleset": {
92725-
"type": "object",
92726-
"properties": {
92727-
"ruleset_id": {
92728-
"$ref": "#/components/schemas/_types:Id"
92729-
},
92730-
"rules": {
92731-
"description": "Rules associated with the query ruleset",
92732-
"type": "array",
92733-
"items": {
92734-
"$ref": "#/components/schemas/query_ruleset._types:QueryRule"
92735-
}
92736-
}
92737-
},
92738-
"required": [
92739-
"ruleset_id",
92740-
"rules"
92741-
]
92742-
},
9274392904
"query_ruleset._types:QueryRule": {
9274492905
"type": "object",
9274592906
"properties": {
@@ -92789,8 +92950,7 @@
9278992950
}
9279092951
},
9279192952
"required": [
92792-
"type",
92793-
"metadata"
92953+
"type"
9279492954
]
9279592955
},
9279692956
"query_ruleset._types:QueryRuleCriteriaType": {
@@ -92805,7 +92965,8 @@
9280592965
"lt",
9280692966
"lte",
9280792967
"gt",
92808-
"gte"
92968+
"gte",
92969+
"always"
9280992970
]
9281092971
},
9281192972
"query_ruleset._types:QueryRuleActions": {
@@ -92825,20 +92986,47 @@
9282592986
}
9282692987
}
9282792988
},
92989+
"query_ruleset._types:QueryRuleset": {
92990+
"type": "object",
92991+
"properties": {
92992+
"ruleset_id": {
92993+
"$ref": "#/components/schemas/_types:Id"
92994+
},
92995+
"rules": {
92996+
"description": "Rules associated with the query ruleset",
92997+
"type": "array",
92998+
"items": {
92999+
"$ref": "#/components/schemas/query_ruleset._types:QueryRule"
93000+
}
93001+
}
93002+
},
93003+
"required": [
93004+
"ruleset_id",
93005+
"rules"
93006+
]
93007+
},
9282893008
"query_ruleset.list:QueryRulesetListItem": {
9282993009
"type": "object",
9283093010
"properties": {
9283193011
"ruleset_id": {
9283293012
"$ref": "#/components/schemas/_types:Id"
9283393013
},
92834-
"rules_count": {
93014+
"rule_total_count": {
9283593015
"description": "The number of rules associated with this ruleset",
9283693016
"type": "number"
93017+
},
93018+
"rule_criteria_types_counts": {
93019+
"description": "A map of criteria type to the number of rules of that type",
93020+
"type": "object",
93021+
"additionalProperties": {
93022+
"type": "string"
93023+
}
9283793024
}
9283893025
},
9283993026
"required": [
9284093027
"ruleset_id",
92841-
"rules_count"
93028+
"rule_total_count",
93029+
"rule_criteria_types_counts"
9284293030
]
9284393031
},
9284493032
"_global.rank_eval:RankEvalRequestItem": {

0 commit comments

Comments
 (0)