Class: Google::Apis::RetailV2::GoogleCloudRetailV2Rule

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/retail_v2/classes.rb,
lib/google/apis/retail_v2/representations.rb,
lib/google/apis/retail_v2/representations.rb

Overview

A rule is a condition-action pair * A condition defines when a rule is to be triggered. * An action specifies what occurs on that trigger. Currently rules only work for controls with SOLUTION_TYPE_SEARCH.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudRetailV2Rule

Returns a new instance of GoogleCloudRetailV2Rule.



5143
5144
5145
# File 'lib/google/apis/retail_v2/classes.rb', line 5143

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#boost_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleBoostAction

A boost action to apply to results matching condition specified above. Corresponds to the JSON property boostAction



5037
5038
5039
# File 'lib/google/apis/retail_v2/classes.rb', line 5037

def boost_action
  @boost_action
end

#conditionGoogle::Apis::RetailV2::GoogleCloudRetailV2Condition

Metadata that is used to define a condition that triggers an action. A valid condition must specify at least one of 'query_terms' or 'products_filter'. If multiple fields are specified, the condition is met if all the fields are satisfied e.g. if a set of query terms and product_filter are set, then only items matching the product_filter for requests with a query matching the query terms wil get boosted. Corresponds to the JSON property condition



5047
5048
5049
# File 'lib/google/apis/retail_v2/classes.rb', line 5047

def condition
  @condition
end

#do_not_associate_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleDoNotAssociateAction

Prevents query_term from being associated with specified terms during search. Example: Don't associate "gShoe" and "cheap". Corresponds to the JSON property doNotAssociateAction



5053
5054
5055
# File 'lib/google/apis/retail_v2/classes.rb', line 5053

def do_not_associate_action
  @do_not_associate_action
end

#filter_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleFilterAction

  • Rule Condition: - No Condition.query_terms provided is a global match. - 1 or more Condition.query_terms provided are combined with OR operator. * Action Input: The request query and filter that are applied to the retrieved products, in addition to any filters already provided with the SearchRequest. The AND operator is used to combine the query's existing filters with the filter rule( s). NOTE: May result in 0 results when filters conflict. * Action Result: Filters the returned objects to be ONLY those that passed the filter. Corresponds to the JSON property filterAction


5064
5065
5066
# File 'lib/google/apis/retail_v2/classes.rb', line 5064

def filter_action
  @filter_action
end

#force_return_facet_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleForceReturnFacetAction

Force returns an attribute/facet in the request around a certain position or above. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Inputs: attribute name, position * Action Result: Will force return a facet key around a certain position or above if the condition is satisfied. Example: Suppose the query is "shoes", the Condition.query_terms is "shoes", the ForceReturnFacetAction.FacetPositionAdjustment.attribute_name is " size" and the ForceReturnFacetAction.FacetPositionAdjustment.position is 8. Two cases: a) The facet key "size" is not already in the top 8 slots, then the facet "size" will appear at a position close to 8. b) The facet key "size" in among the top 8 positions in the request, then it will stay at its current rank. Corresponds to the JSON property forceReturnFacetAction



5080
5081
5082
# File 'lib/google/apis/retail_v2/classes.rb', line 5080

def force_return_facet_action
  @force_return_facet_action
end

#ignore_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleIgnoreAction

Prevents a term in the query from being used in search. Example: Don't search for "shoddy". Corresponds to the JSON property ignoreAction



5086
5087
5088
# File 'lib/google/apis/retail_v2/classes.rb', line 5086

def ignore_action
  @ignore_action
end

#oneway_synonyms_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleOnewaySynonymsAction

Maps a set of terms to a set of synonyms. Set of synonyms will be treated as synonyms of each query term only. query_terms will not be treated as synonyms of each other. Example: "sneakers" will use a synonym of "shoes". " shoes" will not use a synonym of "sneakers". Corresponds to the JSON property onewaySynonymsAction



5094
5095
5096
# File 'lib/google/apis/retail_v2/classes.rb', line 5094

def oneway_synonyms_action
  @oneway_synonyms_action
end

#pin_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RulePinAction

Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of [pin_position, product_id] pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is shoes, the Condition.query_terms is shoes and the pin_map has 1, "pid1", then product with pid1 will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed. Corresponds to the JSON property pinAction



5109
5110
5111
# File 'lib/google/apis/retail_v2/classes.rb', line 5109

def pin_action
  @pin_action
end

#redirect_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleRedirectAction

Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri. Corresponds to the JSON property redirectAction



5116
5117
5118
# File 'lib/google/apis/retail_v2/classes.rb', line 5116

def redirect_action
  @redirect_action
end

#remove_facet_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleRemoveFacetAction

Removes an attribute/facet in the request if is present. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition. page_categories (for browse only), but can't specify both. * Action Input: attribute name * Action Result: Will remove the attribute (as a facet) from the request if it is present. Example: Suppose the query is "shoes", the Condition.query_terms is "shoes" and the attribute name "size", then facet key "size" will be removed from the request (if it is present). Corresponds to the JSON property removeFacetAction



5127
5128
5129
# File 'lib/google/apis/retail_v2/classes.rb', line 5127

def remove_facet_action
  @remove_facet_action
end

#replacement_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleReplacementAction

Replaces a term in the query. Multiple replacement candidates can be specified. All query_terms will be replaced with the replacement term. Example: Replace "gShoe" with "google shoe". Corresponds to the JSON property replacementAction



5134
5135
5136
# File 'lib/google/apis/retail_v2/classes.rb', line 5134

def replacement_action
  @replacement_action
end

#twoway_synonyms_actionGoogle::Apis::RetailV2::GoogleCloudRetailV2RuleTwowaySynonymsAction

Creates a set of terms that will be treated as synonyms of each other. Example: synonyms of "sneakers" and "shoes": * "sneakers" will use a synonym of "shoes" . * "shoes" will use a synonym of "sneakers". Corresponds to the JSON property twowaySynonymsAction



5141
5142
5143
# File 'lib/google/apis/retail_v2/classes.rb', line 5141

def twoway_synonyms_action
  @twoway_synonyms_action
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
# File 'lib/google/apis/retail_v2/classes.rb', line 5148

def update!(**args)
  @boost_action = args[:boost_action] if args.key?(:boost_action)
  @condition = args[:condition] if args.key?(:condition)
  @do_not_associate_action = args[:do_not_associate_action] if args.key?(:do_not_associate_action)
  @filter_action = args[:filter_action] if args.key?(:filter_action)
  @force_return_facet_action = args[:force_return_facet_action] if args.key?(:force_return_facet_action)
  @ignore_action = args[:ignore_action] if args.key?(:ignore_action)
  @oneway_synonyms_action = args[:oneway_synonyms_action] if args.key?(:oneway_synonyms_action)
  @pin_action = args[:pin_action] if args.key?(:pin_action)
  @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
  @remove_facet_action = args[:remove_facet_action] if args.key?(:remove_facet_action)
  @replacement_action = args[:replacement_action] if args.key?(:replacement_action)
  @twoway_synonyms_action = args[:twoway_synonyms_action] if args.key?(:twoway_synonyms_action)
end