Google Cloud Retail V2 Client - Class CatalogAttribute (1.5.0)

Reference documentation and code samples for the Google Cloud Retail V2 Client class CatalogAttribute.

Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.

Generated from protobuf message google.cloud.retail.v2.CatalogAttribute

Namespace

Google \ Cloud \ Retail \ V2

Methods

__construct

Constructor.

Parameters
NameDescription
data array

Optional. Data for populating the Message object.

↳ key string

Required. Attribute name. For example: color, brands, attributes.custom_attribute, such as attributes.xyz. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named attributes.abc_xyz can be indexed, but an attribute named attributes.abc-xyz cannot be indexed. If the attribute key starts with attributes., then the attribute is a custom attribute. Attributes such as brands, patterns, and title are built-in and called system attributes.

↳ in_use bool

Output only. Indicates whether this attribute has been used by any products. True if at least one Product is using this attribute in Product.attributes. Otherwise, this field is False. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is False for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.

↳ type int

Output only. The type of this attribute. This is derived from the attribute in Product.attributes.

↳ indexable_option int

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search. Must be specified, otherwise throws INVALID_FORMAT error.

↳ dynamic_facetable_option int

If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned. Must be specified, otherwise throws INVALID_FORMAT error.

↳ searchable_option int

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes. Must be specified, otherwise throws INVALID_FORMAT error.

↳ exact_searchable_option int

If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. If unset, the server behavior defaults to EXACT_SEARCHABLE_DISABLED.

↳ retrievable_option int

If RETRIEVABLE_ENABLED, attribute values are retrievable in the search results. If unset, the server behavior defaults to RETRIEVABLE_DISABLED.

getKey

Required. Attribute name.

For example: color, brands, attributes.custom_attribute, such as attributes.xyz. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named attributes.abc_xyz can be indexed, but an attribute named attributes.abc-xyz cannot be indexed. If the attribute key starts with attributes., then the attribute is a custom attribute. Attributes such as brands, patterns, and title are built-in and called system attributes.

Returns
TypeDescription
string

setKey

Required. Attribute name.

For example: color, brands, attributes.custom_attribute, such as attributes.xyz. To be indexable, the attribute name can contain only alpha-numeric characters and underscores. For example, an attribute named attributes.abc_xyz can be indexed, but an attribute named attributes.abc-xyz cannot be indexed. If the attribute key starts with attributes., then the attribute is a custom attribute. Attributes such as brands, patterns, and title are built-in and called system attributes.

Parameter
NameDescription
var string
Returns
TypeDescription
$this

getInUse

Output only. Indicates whether this attribute has been used by any products. True if at least one Product is using this attribute in Product.attributes. Otherwise, this field is False.

CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is False for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.

Returns
TypeDescription
bool

setInUse

Output only. Indicates whether this attribute has been used by any products. True if at least one Product is using this attribute in Product.attributes. Otherwise, this field is False.

CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is False for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.

Parameter
NameDescription
var bool
Returns
TypeDescription
$this

getType

Output only. The type of this attribute. This is derived from the attribute in Product.attributes.

Returns
TypeDescription
int

setType

Output only. The type of this attribute. This is derived from the attribute in Product.attributes.

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getIndexableOption

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.

Must be specified, otherwise throws INVALID_FORMAT error.

Returns
TypeDescription
int

setIndexableOption

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if INDEXABLE_ENABLED attribute values are indexed so that it can be filtered, faceted, or boosted in SearchService.Search.

Must be specified, otherwise throws INVALID_FORMAT error.

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getDynamicFacetableOption

If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.

Must be specified, otherwise throws INVALID_FORMAT error.

Returns
TypeDescription
int

setDynamicFacetableOption

If DYNAMIC_FACETABLE_ENABLED, attribute values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if CatalogAttribute.indexable_option is INDEXABLE_DISABLED. Otherwise, an INVALID_ARGUMENT error is returned.

Must be specified, otherwise throws INVALID_FORMAT error.

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getSearchableOption

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search.

If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes. Must be specified, otherwise throws INVALID_FORMAT error.

Returns
TypeDescription
int

setSearchableOption

When AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, if SEARCHABLE_ENABLED, attribute values are searchable by text queries in SearchService.Search.

If SEARCHABLE_ENABLED but attribute type is numerical, attribute values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical attributes. Must be specified, otherwise throws INVALID_FORMAT error.

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getExactSearchableOption

If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.

This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. If unset, the server behavior defaults to EXACT_SEARCHABLE_DISABLED.

Returns
TypeDescription
int

setExactSearchableOption

If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable.

This property only applies to textual custom attributes and requires indexable set to enabled to enable exact-searchable. If unset, the server behavior defaults to EXACT_SEARCHABLE_DISABLED.

Parameter
NameDescription
var int
Returns
TypeDescription
$this

getRetrievableOption

If RETRIEVABLE_ENABLED, attribute values are retrievable in the search results. If unset, the server behavior defaults to RETRIEVABLE_DISABLED.

Returns
TypeDescription
int

setRetrievableOption

If RETRIEVABLE_ENABLED, attribute values are retrievable in the search results. If unset, the server behavior defaults to RETRIEVABLE_DISABLED.

Parameter
NameDescription
var int
Returns
TypeDescription
$this