Skip to content

Commit c5b4766

Browse files
committed
[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 df2a8df commit c5b4766

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": {
@@ -60516,16 +60693,19 @@
6051660693
"organic": {
6051760694
"$ref": "#/components/schemas/_types.query_dsl:QueryContainer"
6051860695
},
60519-
"ruleset_id": {
60520-
"$ref": "#/components/schemas/_types:Id"
60696+
"ruleset_ids": {
60697+
"type": "array",
60698+
"items": {
60699+
"$ref": "#/components/schemas/_types:Id"
60700+
}
6052160701
},
6052260702
"match_criteria": {
6052360703
"type": "object"
6052460704
}
6052560705
},
6052660706
"required": [
6052760707
"organic",
60528-
"ruleset_id",
60708+
"ruleset_ids",
6052960709
"match_criteria"
6053060710
]
6053160711
}
@@ -92776,25 +92956,6 @@
9277692956
"aggregations"
9277792957
]
9277892958
},
92779-
"query_ruleset._types:QueryRuleset": {
92780-
"type": "object",
92781-
"properties": {
92782-
"ruleset_id": {
92783-
"$ref": "#/components/schemas/_types:Id"
92784-
},
92785-
"rules": {
92786-
"description": "Rules associated with the query ruleset",
92787-
"type": "array",
92788-
"items": {
92789-
"$ref": "#/components/schemas/query_ruleset._types:QueryRule"
92790-
}
92791-
}
92792-
},
92793-
"required": [
92794-
"ruleset_id",
92795-
"rules"
92796-
]
92797-
},
9279892959
"query_ruleset._types:QueryRule": {
9279992960
"type": "object",
9280092961
"properties": {
@@ -92844,8 +93005,7 @@
9284493005
}
9284593006
},
9284693007
"required": [
92847-
"type",
92848-
"metadata"
93008+
"type"
9284993009
]
9285093010
},
9285193011
"query_ruleset._types:QueryRuleCriteriaType": {
@@ -92860,7 +93020,8 @@
9286093020
"lt",
9286193021
"lte",
9286293022
"gt",
92863-
"gte"
93023+
"gte",
93024+
"always"
9286493025
]
9286593026
},
9286693027
"query_ruleset._types:QueryRuleActions": {
@@ -92880,20 +93041,47 @@
9288093041
}
9288193042
}
9288293043
},
93044+
"query_ruleset._types:QueryRuleset": {
93045+
"type": "object",
93046+
"properties": {
93047+
"ruleset_id": {
93048+
"$ref": "#/components/schemas/_types:Id"
93049+
},
93050+
"rules": {
93051+
"description": "Rules associated with the query ruleset",
93052+
"type": "array",
93053+
"items": {
93054+
"$ref": "#/components/schemas/query_ruleset._types:QueryRule"
93055+
}
93056+
}
93057+
},
93058+
"required": [
93059+
"ruleset_id",
93060+
"rules"
93061+
]
93062+
},
9288393063
"query_ruleset.list:QueryRulesetListItem": {
9288493064
"type": "object",
9288593065
"properties": {
9288693066
"ruleset_id": {
9288793067
"$ref": "#/components/schemas/_types:Id"
9288893068
},
92889-
"rules_count": {
93069+
"rule_total_count": {
9289093070
"description": "The number of rules associated with this ruleset",
9289193071
"type": "number"
93072+
},
93073+
"rule_criteria_types_counts": {
93074+
"description": "A map of criteria type to the number of rules of that type",
93075+
"type": "object",
93076+
"additionalProperties": {
93077+
"type": "string"
93078+
}
9289293079
}
9289393080
},
9289493081
"required": [
9289593082
"ruleset_id",
92896-
"rules_count"
93083+
"rule_total_count",
93084+
"rule_criteria_types_counts"
9289793085
]
9289893086
},
9289993087
"_global.rank_eval:RankEvalRequestItem": {

0 commit comments

Comments
 (0)