#[non_exhaustive]pub struct CatalogAttribute {
pub key: String,
pub in_use: bool,
pub type: AttributeType,
pub indexable_option: IndexableOption,
pub dynamic_facetable_option: DynamicFacetableOption,
pub searchable_option: SearchableOption,
pub exact_searchable_option: ExactSearchableOption,
pub retrievable_option: RetrievableOption,
pub facet_config: Option<FacetConfig>,
/* private fields */
}Expand description
Catalog level attribute config for an attribute. For example, if customers want to enable/disable facet for a specific attribute.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.key: StringRequired. 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: boolOutput 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
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: AttributeTypeOutput only. The type of this attribute. This is derived from the attribute in Product.attributes.
indexable_option: IndexableOptionWhen 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 when AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, otherwise throws INVALID_FORMAT error.
dynamic_facetable_option: DynamicFacetableOptionIf 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: SearchableOptionWhen 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, when AttributesConfig.attribute_config_level is CATALOG_LEVEL_ATTRIBUTE_CONFIG, otherwise throws INVALID_FORMAT error.
exact_searchable_option: ExactSearchableOptionIf 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: RetrievableOptionIf RETRIEVABLE_ENABLED, attribute values are retrievable in the search results. If unset, the server behavior defaults to RETRIEVABLE_DISABLED.
facet_config: Option<FacetConfig>Contains facet options.
Implementations§
Source§impl CatalogAttribute
impl CatalogAttribute
Sourcepub fn set_in_use<T: Into<bool>>(self, v: T) -> Self
pub fn set_in_use<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_type<T: Into<AttributeType>>(self, v: T) -> Self
pub fn set_type<T: Into<AttributeType>>(self, v: T) -> Self
Sourcepub fn set_indexable_option<T: Into<IndexableOption>>(self, v: T) -> Self
pub fn set_indexable_option<T: Into<IndexableOption>>(self, v: T) -> Self
Sets the value of indexable_option.
§Example
use google_cloud_retail_v2::model::catalog_attribute::IndexableOption;
let x0 = CatalogAttribute::new().set_indexable_option(IndexableOption::IndexableEnabled);
let x1 = CatalogAttribute::new().set_indexable_option(IndexableOption::IndexableDisabled);Sourcepub fn set_dynamic_facetable_option<T: Into<DynamicFacetableOption>>(
self,
v: T,
) -> Self
pub fn set_dynamic_facetable_option<T: Into<DynamicFacetableOption>>( self, v: T, ) -> Self
Sets the value of dynamic_facetable_option.
§Example
use google_cloud_retail_v2::model::catalog_attribute::DynamicFacetableOption;
let x0 = CatalogAttribute::new().set_dynamic_facetable_option(DynamicFacetableOption::DynamicFacetableEnabled);
let x1 = CatalogAttribute::new().set_dynamic_facetable_option(DynamicFacetableOption::DynamicFacetableDisabled);Sourcepub fn set_searchable_option<T: Into<SearchableOption>>(self, v: T) -> Self
pub fn set_searchable_option<T: Into<SearchableOption>>(self, v: T) -> Self
Sets the value of searchable_option.
§Example
use google_cloud_retail_v2::model::catalog_attribute::SearchableOption;
let x0 = CatalogAttribute::new().set_searchable_option(SearchableOption::SearchableEnabled);
let x1 = CatalogAttribute::new().set_searchable_option(SearchableOption::SearchableDisabled);Sourcepub fn set_exact_searchable_option<T: Into<ExactSearchableOption>>(
self,
v: T,
) -> Self
pub fn set_exact_searchable_option<T: Into<ExactSearchableOption>>( self, v: T, ) -> Self
Sets the value of exact_searchable_option.
§Example
use google_cloud_retail_v2::model::catalog_attribute::ExactSearchableOption;
let x0 = CatalogAttribute::new().set_exact_searchable_option(ExactSearchableOption::ExactSearchableEnabled);
let x1 = CatalogAttribute::new().set_exact_searchable_option(ExactSearchableOption::ExactSearchableDisabled);Sourcepub fn set_retrievable_option<T: Into<RetrievableOption>>(self, v: T) -> Self
pub fn set_retrievable_option<T: Into<RetrievableOption>>(self, v: T) -> Self
Sets the value of retrievable_option.
§Example
use google_cloud_retail_v2::model::catalog_attribute::RetrievableOption;
let x0 = CatalogAttribute::new().set_retrievable_option(RetrievableOption::RetrievableEnabled);
let x1 = CatalogAttribute::new().set_retrievable_option(RetrievableOption::RetrievableDisabled);Sourcepub fn set_facet_config<T>(self, v: T) -> Selfwhere
T: Into<FacetConfig>,
pub fn set_facet_config<T>(self, v: T) -> Selfwhere
T: Into<FacetConfig>,
Sets the value of facet_config.
§Example
use google_cloud_retail_v2::model::catalog_attribute::FacetConfig;
let x = CatalogAttribute::new().set_facet_config(FacetConfig::default()/* use setters */);Sourcepub fn set_or_clear_facet_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<FacetConfig>,
pub fn set_or_clear_facet_config<T>(self, v: Option<T>) -> Selfwhere
T: Into<FacetConfig>,
Sets or clears the value of facet_config.
§Example
use google_cloud_retail_v2::model::catalog_attribute::FacetConfig;
let x = CatalogAttribute::new().set_or_clear_facet_config(Some(FacetConfig::default()/* use setters */));
let x = CatalogAttribute::new().set_or_clear_facet_config(None::<FacetConfig>);Trait Implementations§
Source§impl Clone for CatalogAttribute
impl Clone for CatalogAttribute
Source§fn clone(&self) -> CatalogAttribute
fn clone(&self) -> CatalogAttribute
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more