Class: Google::Cloud::Retail::V2::Rule::PinAction

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/retail/v2/common.rb

Overview

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.

Defined Under Namespace

Classes: PinMapEntry

Instance Attribute Summary collapse

Instance Attribute Details

#pin_map::Google::Protobuf::Map{::Integer => ::String}

Returns Required. A map of positions to product_ids.

Partial matches per action are allowed, if a certain position in the map is already filled that [position, product_id] pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action.

Duplicate product_ids are not permitted within a single pin map.

The max size of this map is 120, equivalent to the max request page size.

Returns:

  • (::Google::Protobuf::Map{::Integer => ::String})

    Required. A map of positions to product_ids.

    Partial matches per action are allowed, if a certain position in the map is already filled that [position, product_id] pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action.

    Duplicate product_ids are not permitted within a single pin map.

    The max size of this map is 120, equivalent to the max request page size.



453
454
455
456
457
458
459
460
461
462
463
464
465
# File 'proto_docs/google/cloud/retail/v2/common.rb', line 453

class PinAction
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # @!attribute [rw] key
  #   @return [::Integer]
  # @!attribute [rw] value
  #   @return [::String]
  class PinMapEntry
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end
end