Skip to main content

serving_configs

Creates, updates, deletes, gets or lists a serving_configs resource.

Overview

Nameserving_configs
TypeResource
Idgoogle.retail.serving_configs

Fields

NameDatatypeDescription
namestringImmutable. Fully qualified name projects/*/locations/global/catalogs/*/servingConfig/*
boostControlIdsarrayCondition boost specifications. If a product matches multiple conditions in the specifications, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 100. Notice that if both ServingConfig.boost_control_ids and SearchRequest.boost_spec are set, the boost conditions from both places are evaluated. If a search request matches multiple boost conditions, the final boost score is equal to the sum of the boost scores from all matched boost conditions. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
displayNamestringRequired. The human readable serving config display name. Used in Retail UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
diversityLevelstringHow much diversity to use in recommendation model results e.g. medium-diversity or high-diversity. Currently supported values: no-diversity low-diversity medium-diversity high-diversity * auto-diversity If not specified, we choose default based on recommendation model type. Default value: no-diversity. Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
diversityTypestringWhat kind of diversity to use - data driven or rule based. If unset, the server behavior defaults to RULE_BASED_DIVERSITY.
doNotAssociateControlIdsarrayCondition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. - Order does not matter. - Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
dynamicFacetSpecobjectThe specifications of dynamically generated facets.
enableCategoryFilterLevelstringWhether to add additional category filters on the similar-items model. If not specified, we enable it by default. Allowed values are: no-category-match: No additional filtering of original results from the model and the customer's filters. relaxed-category-match: Only keep results with categories that match at least one item categories in the PredictRequests's context item. * If customer also sends filters in the PredictRequest, then the results will satisfy both conditions (user given and category match). Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
facetControlIdsarrayFacet specifications for faceted search. If empty, no facets are returned. The ids refer to the ids of Control resources with only the Facet control set. These controls are assumed to be in the same Catalog as the ServingConfig. A maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is returned. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
filterControlIdsarrayCondition filter specifications. If a product matches multiple conditions in the specifications, filters from these specifications are all applied and combined via the AND operator. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
ignoreControlIdsarrayCondition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. - Order does not matter. - Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
ignoreRecsDenylistbooleanWhen the flag is enabled, the products in the denylist will not be filtered out in the recommendation filtering results.
modelIdstringThe id of the model in the same Catalog to use at serving time. Currently only RecommendationModels are supported: https://cloud.google.com/retail/recommendations-ai/docs/create-models Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when solution_types is SOLUTION_TYPE_RECOMMENDATION.
onewaySynonymsControlIdsarrayCondition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
personalizationSpecobjectThe specification for personalization.
priceRerankingLevelstringHow much price ranking we want in serving results. Price reranking causes product items with a similar recommendation probability to be ordered by price, with the highest-priced items first. This setting could result in a decrease in click-through and conversion rates. Allowed values are: no-price-reranking low-price-reranking medium-price-reranking high-price-reranking If not specified, we choose default based on model type. Default value: no-price-reranking. Can only be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
redirectControlIdsarrayCondition redirect specifications. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 1000. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
replacementControlIdsarrayCondition replacement specifications. - Applied according to the order in the list. - A previously replaced term can not be re-replaced. - Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
solutionTypesarrayRequired. Immutable. Specifies the solution types that a serving config can be associated with. Currently we support setting only one type of solution.
twowaySynonymsControlIdsarrayCondition synonyms specifications. If multiple syonyms conditions match, all matching synonyms control in the list will execute. Order of controls in the list will not matter. Maximum number of specifications is 100. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.

Methods

NameAccessible byRequired ParamsDescription
projects_locations_catalogs_serving_configs_getSELECTcatalogsId, locationsId, projectsId, servingConfigsIdGets a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.
projects_locations_catalogs_serving_configs_listSELECTcatalogsId, locationsId, projectsIdLists all ServingConfigs linked to this catalog.
projects_locations_catalogs_serving_configs_createINSERTcatalogsId, locationsId, projectsIdCreates a ServingConfig. A maximum of 100 ServingConfigs are allowed in a Catalog, otherwise a FAILED_PRECONDITION error is returned.
projects_locations_catalogs_serving_configs_deleteDELETEcatalogsId, locationsId, projectsId, servingConfigsIdDeletes a ServingConfig. Returns a NotFound error if the ServingConfig does not exist.
projects_locations_catalogs_serving_configs_patchUPDATEcatalogsId, locationsId, projectsId, servingConfigsIdUpdates a ServingConfig.
projects_locations_catalogs_serving_configs_predictEXECcatalogsId, locationsId, projectsId, servingConfigsIdMakes a recommendation prediction.
projects_locations_catalogs_serving_configs_searchEXECcatalogsId, locationsId, projectsId, servingConfigsIdPerforms a search. This feature is only available for users who have Retail Search enabled. Enable Retail Search on Cloud Console before using this feature.

SELECT examples

Lists all ServingConfigs linked to this catalog.

SELECT
name,
boostControlIds,
displayName,
diversityLevel,
diversityType,
doNotAssociateControlIds,
dynamicFacetSpec,
enableCategoryFilterLevel,
facetControlIds,
filterControlIds,
ignoreControlIds,
ignoreRecsDenylist,
modelId,
onewaySynonymsControlIds,
personalizationSpec,
priceRerankingLevel,
redirectControlIds,
replacementControlIds,
solutionTypes,
twowaySynonymsControlIds
FROM google.retail.serving_configs
WHERE catalogsId = '{{ catalogsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}';

INSERT example

Use the following StackQL query and manifest file to create a new serving_configs resource.

/*+ create */
INSERT INTO google.retail.serving_configs (
catalogsId,
locationsId,
projectsId,
name,
displayName,
modelId,
priceRerankingLevel,
facetControlIds,
dynamicFacetSpec,
boostControlIds,
filterControlIds,
redirectControlIds,
twowaySynonymsControlIds,
onewaySynonymsControlIds,
doNotAssociateControlIds,
replacementControlIds,
ignoreControlIds,
diversityLevel,
diversityType,
enableCategoryFilterLevel,
ignoreRecsDenylist,
personalizationSpec,
solutionTypes
)
SELECT
'{{ catalogsId }}',
'{{ locationsId }}',
'{{ projectsId }}',
'{{ name }}',
'{{ displayName }}',
'{{ modelId }}',
'{{ priceRerankingLevel }}',
'{{ facetControlIds }}',
'{{ dynamicFacetSpec }}',
'{{ boostControlIds }}',
'{{ filterControlIds }}',
'{{ redirectControlIds }}',
'{{ twowaySynonymsControlIds }}',
'{{ onewaySynonymsControlIds }}',
'{{ doNotAssociateControlIds }}',
'{{ replacementControlIds }}',
'{{ ignoreControlIds }}',
'{{ diversityLevel }}',
'{{ diversityType }}',
'{{ enableCategoryFilterLevel }}',
{{ ignoreRecsDenylist }},
'{{ personalizationSpec }}',
'{{ solutionTypes }}'
;

UPDATE example

Updates a serving_configs resource.

/*+ update */
UPDATE google.retail.serving_configs
SET
name = '{{ name }}',
displayName = '{{ displayName }}',
modelId = '{{ modelId }}',
priceRerankingLevel = '{{ priceRerankingLevel }}',
facetControlIds = '{{ facetControlIds }}',
dynamicFacetSpec = '{{ dynamicFacetSpec }}',
boostControlIds = '{{ boostControlIds }}',
filterControlIds = '{{ filterControlIds }}',
redirectControlIds = '{{ redirectControlIds }}',
twowaySynonymsControlIds = '{{ twowaySynonymsControlIds }}',
onewaySynonymsControlIds = '{{ onewaySynonymsControlIds }}',
doNotAssociateControlIds = '{{ doNotAssociateControlIds }}',
replacementControlIds = '{{ replacementControlIds }}',
ignoreControlIds = '{{ ignoreControlIds }}',
diversityLevel = '{{ diversityLevel }}',
diversityType = '{{ diversityType }}',
enableCategoryFilterLevel = '{{ enableCategoryFilterLevel }}',
ignoreRecsDenylist = true|false,
personalizationSpec = '{{ personalizationSpec }}',
solutionTypes = '{{ solutionTypes }}'
WHERE
catalogsId = '{{ catalogsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND servingConfigsId = '{{ servingConfigsId }}';

DELETE example

Deletes the specified serving_configs resource.

/*+ delete */
DELETE FROM google.retail.serving_configs
WHERE catalogsId = '{{ catalogsId }}'
AND locationsId = '{{ locationsId }}'
AND projectsId = '{{ projectsId }}'
AND servingConfigsId = '{{ servingConfigsId }}';