Module: Elasticsearch::API::QueryRules::Actions
- Defined in:
- lib/elasticsearch/api/actions/query_rules/test.rb,
lib/elasticsearch/api/actions/query_rules/get_rule.rb,
lib/elasticsearch/api/actions/query_rules/put_rule.rb,
lib/elasticsearch/api/actions/query_rules/delete_rule.rb,
lib/elasticsearch/api/actions/query_rules/get_ruleset.rb,
lib/elasticsearch/api/actions/query_rules/put_ruleset.rb,
lib/elasticsearch/api/actions/query_rules/list_rulesets.rb,
lib/elasticsearch/api/actions/query_rules/delete_ruleset.rb
Instance Method Summary collapse
-
#delete_rule(arguments = {}) ⇒ Object
Delete a query rule.
-
#delete_ruleset(arguments = {}) ⇒ Object
Delete a query ruleset.
-
#get_rule(arguments = {}) ⇒ Object
Get a query rule.
-
#get_ruleset(arguments = {}) ⇒ Object
Get a query ruleset.
-
#list_rulesets(arguments = {}) ⇒ Object
Get all query rulesets.
-
#put_rule(arguments = {}) ⇒ Object
Create or update a query rule.
-
#put_ruleset(arguments = {}) ⇒ Object
Create or update a query ruleset.
-
#test(arguments = {}) ⇒ Object
Test a query ruleset.
Instance Method Details
#delete_rule(arguments = {}) ⇒ Object
Delete a query rule. Delete a query rule within a query ruleset. This is a destructive action that is only recoverable by re-adding the same rule with the create or update query rule API.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/elasticsearch/api/actions/query_rules/delete_rule.rb', line 35 def delete_rule(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.delete_rule' } defined_params = [:ruleset_id, :rule_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] raise ArgumentError, "Required argument 'rule_id' missing" unless arguments[:rule_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _ruleset_id = arguments.delete(:ruleset_id) _rule_id = arguments.delete(:rule_id) method = Elasticsearch::API::HTTP_DELETE path = "_query_rules/#{Utils.listify(_ruleset_id)}/_rule/#{Utils.listify(_rule_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#delete_ruleset(arguments = {}) ⇒ Object
Delete a query ruleset. Remove a query ruleset and its associated data. This is a destructive action that is not recoverable.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/elasticsearch/api/actions/query_rules/delete_ruleset.rb', line 34 def delete_ruleset(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.delete_ruleset' } defined_params = [:ruleset_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _ruleset_id = arguments.delete(:ruleset_id) method = Elasticsearch::API::HTTP_DELETE path = "_query_rules/#{Utils.listify(_ruleset_id)}" params = Utils.process_params(arguments) if Array(arguments[:ignore]).include?(404) Utils.rescue_from_not_found do Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end else Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end end |
#get_rule(arguments = {}) ⇒ Object
Get a query rule. Get details about a query rule within a query ruleset.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/elasticsearch/api/actions/query_rules/get_rule.rb', line 34 def get_rule(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.get_rule' } defined_params = [:ruleset_id, :rule_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] raise ArgumentError, "Required argument 'rule_id' missing" unless arguments[:rule_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _ruleset_id = arguments.delete(:ruleset_id) _rule_id = arguments.delete(:rule_id) method = Elasticsearch::API::HTTP_GET path = "_query_rules/#{Utils.listify(_ruleset_id)}/_rule/#{Utils.listify(_rule_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#get_ruleset(arguments = {}) ⇒ Object
Get a query ruleset. Get details about a query ruleset.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/elasticsearch/api/actions/query_rules/get_ruleset.rb', line 33 def get_ruleset(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.get_ruleset' } defined_params = [:ruleset_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil _ruleset_id = arguments.delete(:ruleset_id) method = Elasticsearch::API::HTTP_GET path = "_query_rules/#{Utils.listify(_ruleset_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#list_rulesets(arguments = {}) ⇒ Object
Get all query rulesets. Get summarized information about the query rulesets.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/elasticsearch/api/actions/query_rules/list_rulesets.rb', line 34 def list_rulesets(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.list_rulesets' } arguments = arguments.clone headers = arguments.delete(:headers) || {} body = nil method = Elasticsearch::API::HTTP_GET path = '_query_rules' params = Utils.process_params(arguments) Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#put_rule(arguments = {}) ⇒ Object
Create or update a query rule. Create or update a query rule within a query ruleset. IMPORTANT: Due to limitations within pinned queries, you can only pin documents using ids or docs, but cannot use both in single rule. It is advised to use one or the other in query rulesets, to avoid errors. Additionally, pinned queries have a maximum limit of 100 pinned hits. If multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/elasticsearch/api/actions/query_rules/put_rule.rb', line 39 def put_rule(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.put_rule' } defined_params = [:ruleset_id, :rule_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] raise ArgumentError, "Required argument 'rule_id' missing" unless arguments[:rule_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _ruleset_id = arguments.delete(:ruleset_id) _rule_id = arguments.delete(:rule_id) method = Elasticsearch::API::HTTP_PUT path = "_query_rules/#{Utils.listify(_ruleset_id)}/_rule/#{Utils.listify(_rule_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#put_ruleset(arguments = {}) ⇒ Object
Create or update a query ruleset. There is a limit of 100 rules per ruleset. This limit can be increased by using the xpack.applications.rules.max_rules_per_ruleset
cluster setting. IMPORTANT: Due to limitations within pinned queries, you can only select documents using ids
or docs
, but cannot use both in single rule. It is advised to use one or the other in query rulesets, to avoid errors. Additionally, pinned queries have a maximum limit of 100 pinned hits. If multiple matching rules pin more than 100 documents, only the first 100 documents are pinned in the order they are specified in the ruleset.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/elasticsearch/api/actions/query_rules/put_ruleset.rb', line 39 def put_ruleset(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.put_ruleset' } defined_params = [:ruleset_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _ruleset_id = arguments.delete(:ruleset_id) method = Elasticsearch::API::HTTP_PUT path = "_query_rules/#{Utils.listify(_ruleset_id)}" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |
#test(arguments = {}) ⇒ Object
Test a query ruleset. Evaluate match criteria against a query ruleset to identify the rules that would match that criteria.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/elasticsearch/api/actions/query_rules/test.rb', line 34 def test(arguments = {}) request_opts = { endpoint: arguments[:endpoint] || 'query_rules.test' } defined_params = [:ruleset_id].each_with_object({}) do |variable, set_variables| set_variables[variable] = arguments[variable] if arguments.key?(variable) end request_opts[:defined_params] = defined_params unless defined_params.empty? raise ArgumentError, "Required argument 'body' missing" unless arguments[:body] raise ArgumentError, "Required argument 'ruleset_id' missing" unless arguments[:ruleset_id] arguments = arguments.clone headers = arguments.delete(:headers) || {} body = arguments.delete(:body) _ruleset_id = arguments.delete(:ruleset_id) method = Elasticsearch::API::HTTP_POST path = "_query_rules/#{Utils.listify(_ruleset_id)}/_test" params = {} Elasticsearch::API::Response.new( perform_request(method, path, params, body, headers, request_opts) ) end |