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

Recurso: Control

Define um comportamento condicionado a ser usado durante a veiculação. Precisa estar anexado a um ServingConfig para ser considerado no momento da veiculação. Ações permitidas dependem de SolutionType.

Representação 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

Imutável. Nome totalmente qualificado projects/*/locations/global/dataStore/*/controls/*

displayName

string

Obrigatório. Nome legível. O identificador usado nas visualizações da UI.

Precisa ser uma string codificada em UTF-8. O limite de tamanho é de 128 caracteres. Caso contrário, um erro INVALID ARGUMENT será gerado.

associatedServingConfigIds[]

string

Apenas saída. Lista de todos os IDs ServingConfig a que esse controle está anexado. Pode levar até 10 minutos para atualizar após as mudanças.

solutionType

enum (SolutionType)

Obrigatório. Imutável. A qual solução o controle pertence.

Precisa ser compatível com a categoria do recurso. Caso contrário, um erro INVALID ARGUMENT será gerado.

useCases[]

enum (SearchUseCase)

Especifica o caso de uso do controle. Afeta quais campos de condição podem ser definidos. Válido apenas para SOLUTION_TYPE_SEARCH. No momento, só é permitido um caso de uso por controle. Precisa ser definido quando "solutionType" for SolutionType.SOLUTION_TYPE_SEARCH.

conditions[]

object (Condition)

Determina quando a ação associada será acionada.

Omita para sempre aplicar a ação. No momento, só é possível especificar uma condição. Caso contrário, um erro INVALID ARGUMENT será gerado.

Campo de união action. As ações são restritas por setor e solução

Obrigatório. action pode ser apenas de um dos tipos a seguir:

boostAction

object (BoostAction)

Define um controle do tipo boost.

filterAction

object (FilterAction)

Define um controle de tipo de filtro. No momento, não é compatível com a recomendação.

redirectAction

object (RedirectAction)

Define um controle do tipo redirecionamento.

synonymsAction

object (SynonymsAction)

Trata um grupo de termos como sinônimos.

promoteAction

object (PromoteAction)

Promover determinados links com base em consultas de acionamento predefinidas.

BoostAction

Ajusta a ordem dos produtos na lista retornada.

Representação 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

Intensidade da otimização, que precisa estar em [-1, 1]. Reforço negativo significa rebaixamento. O padrão é 0,0 (sem operação).

filter

string

Obrigatório. Especifica a quais produtos aplicar o reforço.

Se nenhum filtro for fornecido, todos os produtos serão promovidos (sem operação). Documentação da sintaxe: https://cloud.google.com/retail/docs/filter-and-order. O tamanho máximo é de 5.000 caracteres. Caso contrário, um erro INVALID ARGUMENT será gerado.

dataStore

string

Obrigatório. Especifica quais documentos do repositório de dados podem ser otimizados por este controle. Nome completo do repositório de dados, por exemplo, projects/123/locations/global/collections/default_collection/dataStores/default_data_store

Campo de união boost_spec. Otimização de valor constante ou especificações de otimização com base em classificação personalizada. boost_spec pode ser apenas de um dos tipos a seguir:
fixedBoost

number

Opcional. Intensidade da otimização, que precisa estar em [-1, 1]. Reforço negativo significa rebaixamento. O padrão é 0,0 (sem operação).

interpolationBoostSpec

object (InterpolationBoostSpec)

Opcional. Especificação complexa para classificação personalizada com base no valor do atributo definido pelo cliente.

InterpolationBoostSpec

Especificação para classificação personalizada com base no valor do atributo especificado pelo cliente. Ela oferece mais controles para classificação personalizada do que a combinação simples (condição, reforço) acima.

Representação JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Opcional. O nome do campo cujo valor será usado para determinar o valor do reforço.

attributeType

enum (AttributeType)

Opcional. O tipo de atributo a ser usado para determinar o valor do reforço. O valor do atributo pode ser derivado do valor do campo do fieldName especificado. No caso de valores numéricos, é simples: attributeValue = numerical_field_value. No caso da atualização, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. O tipo de interpolação a ser aplicado para conectar os pontos de controle listados abaixo.

controlPoints[]

object (ControlPoint)

Opcional. Os pontos de controle usados para definir a curva. A função monotônica (definida pelo interpolationType acima) passa pelos pontos de controle listados aqui.

AttributeType

O atributo(ou função) a que o ranking personalizado será aplicado.

Tipos enumerados
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType não especificado.
NUMERICAL O valor do campo numérico será usado para atualizar dinamicamente o valor do reforço. Nesse caso, o attributeValue (o valor x) do ponto de controle será o valor real do campo numérico para o qual o boostAmount é especificado.
FRESHNESS Para o caso de uso de atualização, o valor do atributo será a duração entre a hora atual e a data no campo de data e hora especificado. O valor precisa ser formatado como um valor dayTimeDuration XSD (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]]. Por exemplo, 5D, 3DT12H30M, T24H.

InterpolationType

O tipo de interpolação a ser aplicado. O padrão é linear (linear por partes).

Tipos enumerados
INTERPOLATION_TYPE_UNSPECIFIED O tipo de interpolação não foi especificado. Nesse caso, o padrão é "Linear".
LINEAR A interpolação linear por partes será aplicada.

ControlPoint

Os pontos de controle usados para definir a curva. A curva definida por esses pontos de controle só pode ser monotonicamente crescente ou decrescente(valores constantes são aceitáveis).

Representação JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Pode ser um dos seguintes: 1. O valor do campo numérico. 2. A especificação de duração para atualização. O valor precisa ser formatado como um valor XSD dayTimeDuration (um subconjunto restrito de um valor de duração ISO 8601). O padrão é: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. O valor entre -1 e 1 pelo qual aumentar a pontuação se o atributo "attributeValue" for avaliado como o valor especificado acima.

FilterAction

Especifica quais produtos podem ser incluídos nos resultados. Usa o mesmo filtro que o aumento.

Representação JSON
{
  "filter": string,
  "dataStore": string
}
Campos
filter

string

Obrigatório. Um filtro a ser aplicado aos resultados da condição correspondente.

Documentação da sintaxe obrigatória: https://cloud.google.com/retail/docs/filter-and-order. O tamanho máximo é de 5.000 caracteres. Caso contrário, um erro INVALID ARGUMENT será gerado.

dataStore

string

Obrigatório. Especifica quais documentos do repositório de dados podem ser filtrados por este controle. Nome completo do repositório de dados, por exemplo, projects/123/locations/global/collections/default_collection/dataStores/default_data_store

RedirectAction

Redireciona um comprador para o URI fornecido.

Representação JSON
{
  "redirectUri": string
}
Campos
redirectUri

string

Obrigatório. O URI para o qual o comprador será redirecionado.

Obrigatório. O URI precisa ter até 2 mil caracteres. Caso contrário, um erro INVALID ARGUMENT será gerado.

SynonymsAction

Cria um conjunto de termos que vão funcionar como sinônimos entre si.

Por exemplo, "feliz" também será considerado como "alegre", e "alegre" também será considerado como "feliz".

Representação JSON
{
  "synonyms": [
    string
  ]
}
Campos
synonyms[]

string

Define um conjunto de sinônimos. É possível especificar até 100 sinônimos. É preciso especificar pelo menos dois sinônimos. Caso contrário, um erro INVALID ARGUMENT será gerado.

PromoteAction

Promover determinados links com base em algumas consultas de acionamento.

Exemplo: promova o link da loja de calçados ao pesquisar a palavra-chave shoe. O link pode estar fora do repositório de dados associado.

Representação JSON
{
  "dataStore": string,
  "searchLinkPromotion": {
    object (SearchLinkPromotion)
  }
}
Campos
dataStore

string

Obrigatório. Repositório de dados a que esta promoção está anexada.

SearchLinkPromotion

O proto de promoção inclui URI e outras informações úteis para mostrar a promoção.

Representação JSON
{
  "title": string,
  "uri": string,
  "document": string,
  "imageUri": string,
  "description": string,
  "enabled": boolean
}
Campos
title

string

Obrigatório. O título da promoção. Comprimento máximo: 160 caracteres.

uri

string

Opcional. O URL da página que o usuário quer promover. Precisa ser definido para a pesquisa no site. Para outras categorias, isso é opcional.

document

string

Opcional. O Document que o usuário quer promover. Para a pesquisa no site, deixe em branco e preencha apenas o URI. Pode ser definido com o URI.

imageUri

string

Opcional. O URL da imagem em miniatura da promoção.

description

string

Opcional. A descrição da promoção. Comprimento máximo: 200 caracteres.

enabled

boolean

Opcional. A promoção ativada será retornada para todas as configurações de veiculação associadas ao pai do controle a que ela está anexada.

Essa flag é usada apenas para a pesquisa básica no site.

SearchUseCase

Define uma subdivisão adicional de SolutionType. Especificamente para SOLUTION_TYPE_SEARCH.

Tipos enumerados
SEARCH_USE_CASE_UNSPECIFIED Valor usado quando não definido. Não vai ocorrer no CSS.
SEARCH_USE_CASE_BROWSE Navegar pelo caso de uso. Espera que o tráfego tenha um query vazio.

Condição

Define circunstâncias a serem verificadas antes de permitir um comportamento.

Representação JSON
{
  "queryTerms": [
    {
      object (QueryTerm)
    }
  ],
  "activeTimeRange": [
    {
      object (TimeRange)
    }
  ],
  "queryRegex": string
}
Campos
queryTerms[]

object (QueryTerm)

Pesquise apenas uma lista de termos para corresponder à consulta. Não pode ser definido quando Condition.query_regex está definido.

Máximo de 10 termos de consulta.

activeTimeRange[]

object (TimeRange)

Intervalo de tempo que especifica quando a condição está ativa.

Máximo de 10 períodos.

queryRegex

string

Opcional. Expressão regular de consulta para corresponder a toda a consulta de pesquisa. Não pode ser definido quando Condition.query_terms está definido. Só é compatível com os controles de veiculação de promoções da pesquisa básica no site.

QueryTerm

Matcher para consulta de solicitação de pesquisa

Representação JSON
{
  "value": string,
  "fullMatch": boolean
}
Campos
value

string

O valor de consulta específico a ser correspondido

Precisa estar em minúsculas e em UTF-8. Pode ter no máximo três termos separados por espaço se "fullMatch" for verdadeiro. Não pode ser uma string vazia. O tamanho máximo é de 5.000 caracteres.

fullMatch

boolean

Se a consulta de pesquisa precisa corresponder exatamente ao termo.

TimeRange

Usado para condições dependentes do tempo.

Representação JSON
{
  "startTime": string,
  "endTime": string
}
Campos
startTime

string (Timestamp format)

Início do período.

O intervalo é inclusivo.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Fim do período.

O intervalo é inclusivo. Precisa estar no futuro.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Métodos

create

Cria um controle.

delete

Exclui um controle.

get

Recebe um Control.

list

Lista todos os controles pelo recurso pai DataStore.

patch

Atualiza um controle.