elasticsearch/docs/reference/query-rules/apis/list-query-rulesets.asciidoc
Kathleen DeRusso 0437416c33
Tech debt: Add tests to documentation for query rules, search applications (#98266)
* Add tests for query rules

* More tests

* Fix search app tests

* Fix tests

* Add teardown to tests

* Add tests for list search apps call

* Update test in get search application

* Tweak stack trace

* Make response match in test

---------

Co-authored-by: carlosdelest <carlos.delgado@elastic.co>
2023-08-09 08:01:52 -04:00

207 lines
4.4 KiB
Text

[role="xpack"]
[[list-query-rulesets]]
=== List query rulesets
preview::[]
++++
<titleabbrev>List query rulesets</titleabbrev>
++++
Returns information about all stored query rulesets.
Summary information on the number of rules per ruleset will be returned, and full details can be returned with the <<get-query-ruleset>> command.
[[list-query-rules-request]]
==== {api-request-title}
`GET _query_rules/`
[[list-query-rules-prereq]]
==== {api-prereq-title}
Requires the `manage_search_query_rules` privilege.
[[list-query-rules-path-params]]
==== {api-path-parms-title}
`size`::
(Optional, integer) Maximum number of results to retrieve.
`from`::
(Optional, integer) The offset from the first result to fetch.
[[list-query-rules-example]]
==== {api-examples-title}
The following example lists all configured query rulesets:
////
[source,console]
--------------------------------------------------
PUT _query_rules/ruleset-1
{
"rules": [
{
"rule_id": "rule-1",
"type": "pinned",
"criteria": [
{
"type": "exact",
"metadata": "query_string",
"values": [ "puggles" ]
}
],
"actions": {
"ids": ["id1"]
}
}
]
}
PUT _query_rules/ruleset-2
{
"rules": [
{
"rule_id": "rule-1",
"type": "pinned",
"criteria": [
{
"type": "exact",
"metadata": "query_string",
"values": [ "puggles" ]
}
],
"actions": {
"ids": ["id1"]
}
},
{
"rule_id": "rule-2",
"type": "pinned",
"criteria": [
{
"type": "fuzzy",
"metadata": "query_string",
"values": [ "pugs" ]
}
],
"actions": {
"ids": ["id2"]
}
}
]
}
PUT _query_rules/ruleset-3
{
"rules": [
{
"rule_id": "rule-1",
"type": "pinned",
"criteria": [
{
"type": "exact",
"metadata": "query_string",
"values": [ "puggles" ]
}
],
"actions": {
"ids": ["id1"]
}
},
{
"rule_id": "rule-2",
"type": "pinned",
"criteria": [
{
"type": "fuzzy",
"metadata": "query_string",
"values": [ "pugs" ]
}
],
"actions": {
"ids": ["id2"]
}
},
{
"rule_id": "rule-3",
"type": "pinned",
"criteria": [
{
"type": "fuzzy",
"metadata": "query_string",
"values": [ "beagles" ]
}
],
"actions": {
"ids": ["id2"]
}
}
]
}
--------------------------------------------------
// TESTSETUP
[source,console]
--------------------------------------------------
DELETE _query_rules/ruleset-1
DELETE _query_rules/ruleset-2
DELETE _query_rules/ruleset-3
--------------------------------------------------
// TEARDOWN
////
[source,console]
----
GET _query_rules/
----
The following example lists the first three query rulesets:
[source,console]
----
GET _query_rules/?from=0&size=3
----
A sample response:
[source,console-result]
----
{
"count": 3,
"results": [
{
"ruleset_id": "ruleset-1",
"rule_total_count": 1,
"rule_criteria_types_counts": {
"exact": 1
}
},
{
"ruleset_id": "ruleset-2",
"rule_total_count": 2,
"rule_criteria_types_counts": {
"exact": 1,
"fuzzy": 1
}
},
{
"ruleset_id": "ruleset-3",
"rule_total_count": 3,
"rule_criteria_types_counts": {
"exact": 1,
"fuzzy": 2
}
}
]
}
----
// TEST[continued]
[NOTE]
The counts in `rule_criteria_types_counts` may be larger than the value of `rule_total_count`, because a rule may have multiple criteria.