REST Resource: projects.locations.collections.dataStores.controls

Recurso: Control

Define un comportamiento condicionado que se debe emplear durante el servicio. Debe estar adjunto a un ServingConfig para tenerse en cuenta en el momento de la publicación. Acciones permitidas en función de SolutionType.

Representación JSON
{
  "name": string,
  "displayName": string,
  "associatedServingConfigIds": [
    string
  ],
  "solutionType": enum (SolutionType),
  "useCases": [
    enum (SearchUseCase)
  ],
  "conditions": [
    {
      object (Condition)
    }
  ],

  // Union field action can be only one of the following:
  "boostAction": {
    object (BoostAction)
  },
  "filterAction": {
    object (FilterAction)
  },
  "redirectAction": {
    object (RedirectAction)
  },
  "synonymsAction": {
    object (SynonymsAction)
  },
  "promoteAction": {
    object (PromoteAction)
  }
  // End of list of possible types for union field action.
}
Campos
name

string

Inmutable. Nombre completo projects/*/locations/global/dataStore/*/controls/*

displayName

string

Obligatorio. Nombre legible. El identificador que se usa en las vistas de la interfaz de usuario.

Debe ser una cadena codificada en UTF-8. El límite de longitud es de 128 caracteres. De lo contrario, se producirá un error INVALID ARGUMENT.

associatedServingConfigIds[]

string

Solo de salida. Lista de todos los IDs de ServingConfig a los que está asociado este control. Los cambios pueden tardar hasta 10 minutos en aplicarse.

solutionType

enum (SolutionType)

Obligatorio. Inmutable. A qué solución pertenece el control.

Debe ser compatible con el vertical del recurso. De lo contrario, se producirá un error INVALID ARGUMENT.

useCases[]

enum (SearchUseCase)

Especifica el caso práctico del control. Afecta a los campos de condición que se pueden definir. Solo se aplica a SOLUTION_TYPE_SEARCH. Actualmente, solo se permite un caso práctico por control. Se debe definir cuando solutionType es SolutionType.SOLUTION_TYPE_SEARCH.

conditions[]

object (Condition)

Determina cuándo se activará la acción asociada.

Omite este paso para aplicar siempre la acción. Actualmente, solo se puede especificar una condición. De lo contrario, se producirá un error INVALID ARGUMENT.

Campo de unión action. Las acciones están restringidas por vertical y solución

Obligatorio. action solo puede ser una de estas dos opciones:

boostAction

object (BoostAction)

Define un control de tipo de aumento.

filterAction

object (FilterAction)

Define un control de tipo de filtro. Actualmente no es compatible con Recomendación.

redirectAction

object (RedirectAction)

Define un control de tipo de redirección.

synonymsAction

object (SynonymsAction)

Trata un grupo de términos como sinónimos entre sí.

promoteAction

object (PromoteAction)

Promocionar determinados enlaces en función de consultas de activación predefinidas.

BoostAction

Ajusta el orden de los productos en la lista devuelta.

Representación JSON
{
  "boost": number,
  "filter": string,
  "dataStore": string,

  // Union field boost_spec can be only one of the following:
  "fixedBoost": number,
  "interpolationBoostSpec": {
    object (InterpolationBoostSpec)
  }
  // End of list of possible types for union field boost_spec.
}
Campos
boost
(deprecated)

number

Intensidad del aumento, que debe estar entre -1 y 1. Un impulso negativo significa que se ha bajado de nivel. El valor predeterminado es 0.0 (sin operación).

filter

string

Obligatorio. Especifica a qué productos se aplica el impulso.

Si no se proporciona ningún filtro, se potenciarán todos los productos (sin operación). Documentación sobre la sintaxis: https://cloud.google.com/retail/docs/filter-and-order. La longitud máxima es de 5000 caracteres. De lo contrario, se producirá un error INVALID ARGUMENT.

dataStore

string

Obligatorio. Especifica qué documentos del almacén de datos se pueden destacar con este control. Nombre completo del almacén de datos, por ejemplo, projects/123/locations/global/collections/default_collection/dataStores/default_data_store

Campo de unión boost_spec. Especificaciones de aumento de valor constante o de aumento basado en la clasificación personalizada. boost_spec solo puede ser una de estas dos opciones:
fixedBoost

number

Opcional. Intensidad del aumento, que debe estar entre -1 y 1. Un impulso negativo significa que se ha bajado de nivel. El valor predeterminado es 0.0 (sin operación).

interpolationBoostSpec

object (InterpolationBoostSpec)

Opcional. Especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

InterpolationBoostSpec

Especificación de la clasificación personalizada basada en el valor de atributo especificado por el cliente. Ofrece más controles para personalizar la clasificación que la combinación simple (condición, impulso) que se ha descrito anteriormente.

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Opcional. Nombre del campo cuyo valor se usará para determinar el aumento.

attributeType

enum (AttributeType)

Opcional. Tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo especificado en fieldName. En el caso de los valores numéricos, es sencillo: attributeValue = numerical_field_value. En el caso de la actualización, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. El tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Opcional. Los puntos de control que se usan para definir la curva. La función monotónica (definida mediante interpolationType más arriba) pasa por los puntos de control que se indican aquí.

AttributeType

El atributo(o la función) al que se debe aplicar la clasificación personalizada.

Enumeraciones
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType no especificado.
NUMERICAL El valor del campo numérico se usará para actualizar de forma dinámica el importe del aumento. En este caso, el valor del atributo (el valor de x) del punto de control será el valor real del campo numérico para el que se especifica boostAmount.
FRESHNESS En el caso práctico de la actualización, el valor del atributo será la duración entre la hora actual y la fecha especificada en el campo datetime. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón es el siguiente: [nD][T[nH][nM][nS]]. Por ejemplo, 5D, 3DT12H30M y T24H.

InterpolationType

El tipo de interpolación que se va a aplicar. El valor predeterminado será lineal (lineal a tramos).

Enumeraciones
INTERPOLATION_TYPE_UNSPECIFIED No se ha especificado el tipo de interpolación. En este caso, se utiliza el valor predeterminado Lineal.
LINEAR Se aplicará la interpolación lineal a tramos.

ControlPoint

Los puntos de control que se usan para definir la curva. La curva definida mediante estos puntos de control solo puede ser creciente o decreciente de forma monótona(se aceptan valores constantes).

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Puede ser uno de los siguientes: 1. Valor del campo numérico. 2. Especificación de la duración de la actualización: el valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración de ISO 8601). El patrón es el siguiente: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. Valor entre -1 y 1 que se debe sumar a la puntuación si el atributo attributeValue se evalúa con el valor especificado anteriormente.

FilterAction

Especifica qué productos se pueden incluir en los resultados. Usa el mismo filtro que el aumento.

Representación JSON
{
  "filter": string,
  "dataStore": string
}
Campos
filter

string

Obligatorio. Filtro que se aplica a los resultados de la condición coincidente.

Documentación sobre la sintaxis obligatoria: https://cloud.google.com/retail/docs/filter-and-order. La longitud máxima es de 5000 caracteres. De lo contrario, se producirá un error INVALID ARGUMENT.

dataStore

string

Obligatorio. Especifica los documentos del almacén de datos que se pueden filtrar con este control. Nombre completo del almacén de datos, por ejemplo, projects/123/locations/global/collections/default_collection/dataStores/default_data_store

RedirectAction

Redirige a un comprador al URI proporcionado.

Representación JSON
{
  "redirectUri": string
}
Campos
redirectUri

string

Obligatorio. El URI al que se redirigirá al comprador.

Obligatorio. La URI debe tener una longitud igual o inferior a 2000 caracteres. De lo contrario, se producirá un error INVALID ARGUMENT.

SynonymsAction

Crea un conjunto de términos que actúan como sinónimos entre sí.

Por ejemplo, "feliz" también se considerará "contento", y "contento" también se considerará "feliz".

Representación JSON
{
  "synonyms": [
    string
  ]
}
Campos
synonyms[]

string

Define un conjunto de sinónimos. Puede especificar hasta 100 sinónimos. Debes especificar al menos 2 sinónimos. De lo contrario, se producirá un error INVALID ARGUMENT.

PromoteAction

Promocionar determinados enlaces en función de algunas consultas de activación.

Ejemplo: promocionar el enlace de una zapatería cuando se busca la palabra clave shoe. El enlace puede estar fuera del almacén de datos asociado.

Representación JSON
{
  "dataStore": string,
  "searchLinkPromotion": {
    object (SearchLinkPromotion)
  }
}
Campos
dataStore

string

Obligatorio. Almacén de datos al que está asociada esta promoción.

SearchLinkPromotion

El proto de promoción incluye el URI y otra información útil para mostrar la promoción.

Representación JSON
{
  "title": string,
  "uri": string,
  "document": string,
  "imageUri": string,
  "description": string,
  "enabled": boolean
}
Campos
title

string

Obligatorio. Título de la promoción. Longitud máxima: 160 caracteres.

uri

string

Opcional. La URL de la página que quiere promocionar el usuario. Se debe definir para la búsqueda en el sitio. En otros verticales, este paso es opcional.

document

string

Opcional. El Document que quiere promocionar el usuario. En el caso de la búsqueda en el sitio, no definas ningún valor y solo rellena el URI. Se puede definir junto con uri.

imageUri

string

Opcional. URL de la imagen en miniatura de la promoción.

description

string

Opcional. Descripción de la promoción. Longitud máxima: 200 caracteres.

enabled

boolean

Opcional. La promoción habilitada se devolverá para cualquier configuración de publicación asociada al elemento superior del control al que esté vinculada esta promoción.

Esta marca solo se usa para la búsqueda básica en el sitio.

SearchUseCase

Define una subdivisión adicional de SolutionType. Se aplica específicamente a SOLUTION_TYPE_SEARCH.

Enumeraciones
SEARCH_USE_CASE_UNSPECIFIED Valor que se usa cuando no se define. No se producirá en CSS.
SEARCH_USE_CASE_BROWSE Consulta el caso práctico. Espera que el tráfico tenga un query vacío.

Condición

Define las circunstancias que se deben comprobar antes de permitir un comportamiento.

Representación JSON
{
  "queryTerms": [
    {
      object (QueryTerm)
    }
  ],
  "activeTimeRange": [
    {
      object (TimeRange)
    }
  ],
  "queryRegex": string
}
Campos
queryTerms[]

object (QueryTerm)

Busca solo en una lista de términos para que coincidan con la consulta. No se puede definir cuando se ha definido Condition.query_regex.

Un máximo de 10 términos de consulta.

activeTimeRange[]

object (TimeRange)

Intervalo de tiempo que especifica cuándo está activa la condición.

Puedes añadir un máximo de 10 intervalos de tiempo.

queryRegex

string

Opcional. Expresión regular de la consulta para que coincida con toda la consulta de búsqueda. No se puede definir cuando se ha definido Condition.query_terms. Solo se admite en los controles de servicio de promoción de la búsqueda básica en el sitio.

QueryTerm

Matcher de la consulta de la solicitud de búsqueda

Representación JSON
{
  "value": string,
  "fullMatch": boolean
}
Campos
value

string

El valor de consulta específico con el que se va a comparar

Debe estar en minúsculas y en UTF-8. Puede tener un máximo de 3 términos separados por espacios si fullMatch es true. No puede ser una cadena vacía. La longitud máxima es de 5000 caracteres.

fullMatch

boolean

Si la consulta de búsqueda debe coincidir exactamente con el término de la consulta.

TimeRange

Se usa para condiciones dependientes del tiempo.

Representación JSON
{
  "startTime": string,
  "endTime": string
}
Campos
startTime

string (Timestamp format)

Inicio del periodo.

El intervalo es inclusivo.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Fin del periodo.

El intervalo es inclusivo. Debe ser una fecha posterior a la actual.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Métodos

create

Crea un recurso Control.

delete

Elimina un recurso Control.

get

Obtiene un recurso Control.

list

Enumera todos los controles por su DataStore principal.

patch

Actualiza un recurso Control.