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

Recurso: controlo

Define um comportamento condicionado a usar durante a publicação. Tem de estar associado a um ServingConfig para ser considerado no momento da publicação. Ações permitidas dependentes 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 IU.

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

associatedServingConfigIds[]

string

Apenas saída. Lista de todos os IDs de ServingConfig aos quais este controlo está anexado. A atualização pode demorar até 10 minutos após as alterações.

solutionType

enum (SolutionType)

Obrigatório. Imutável. A que solução pertence o controlo.

Tem de ser compatível com o vertical do recurso. Caso contrário, é gerado um erro INVALID ARGUMENT.

useCases[]

enum (SearchUseCase)

Especifica o exemplo de utilização do controlo. Afeta os campos de condições que podem ser definidos. Aplica-se apenas a SOLUTION_TYPE_SEARCH. Atualmente, só é permitido um exemplo de utilização por controlo. Tem de ser definido quando solutionType é SolutionType.SOLUTION_TYPE_SEARCH.

conditions[]

object (Condition)

Determina quando a ação associada é acionada.

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

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

Obrigatório. action só pode ser uma das seguintes opções:

boostAction

object (BoostAction)

Define um controlo do tipo aumento

filterAction

object (FilterAction)

Define um controlo do tipo de filtro. Atualmente, não é suportado pela recomendação

redirectAction

object (RedirectAction)

Define um controlo do tipo redirecionamento.

synonymsAction

object (SynonymsAction)

Trata um grupo de termos como sinónimos entre si.

promoteAction

object (PromoteAction)

Promova determinados links com base em consultas de acionamento predefinidas.

BoostAction

Ajusta a ordem dos produtos na lista devolvida.

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 do aumento, que deve estar no intervalo [-1, 1]. Um aumento negativo significa uma despromoção. A predefinição é 0,0 (No-op).

filter

string

Obrigatório. Especifica a que produtos aplicar o aumento.

Se não for fornecido nenhum filtro, todos os produtos são otimizados (No-op). Documentação da sintaxe: https://cloud.google.com/retail/docs/filter-and-order. O comprimento máximo é de 5000 carateres. Caso contrário, é gerado um erro INVALID ARGUMENT.

dataStore

string

Obrigatório. Especifica os documentos do arquivo de dados que podem ser otimizados por este controlo. Nome completo da loja de dados, por exemplo, projects/123/locations/global/collections/default_collection/dataStores/default_data_store

Campo de união boost_spec. Especificações de aumento de valor constante ou de classificação personalizada baseada em aumentos. boost_spec só pode ser uma das seguintes opções:
fixedBoost

number

Opcional. Intensidade do aumento, que deve estar no intervalo [-1, 1]. Um aumento negativo significa uma despromoção. A predefinição é 0,0 (No-op).

interpolationBoostSpec

object (InterpolationBoostSpec)

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

InterpolationBoostSpec

Especificação para a classificação personalizada com base no valor do atributo especificado pelo cliente. Oferece mais controlos para a classificação personalizada do que a combinação simples (condição, aumento) 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 vai ser usado para determinar o valor do aumento.

attributeType

enum (AttributeType)

Opcional. O tipo de atributo a usar para determinar o valor do aumento. O valor do atributo pode ser derivado do valor do campo do fieldName especificado. No caso de valores numéricos, é simples, ou seja, attributeValue = numerical_field_value. No entanto, no caso da atualidade, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. O tipo de interpolação a aplicar para ligar os pontos de controlo indicados abaixo.

controlPoints[]

object (ControlPoint)

Opcional. Os pontos de controlo usados para definir a curva. A função monótona (definida através de interpolationType acima) passa pelos pontos de controlo indicados aqui.

AttributeType

O atributo(ou a função) ao qual a classificação personalizada deve ser aplicada.

Enumerações
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType não especificado.
NUMERICAL O valor do campo numérico é usado para atualizar dinamicamente o valor do aumento. Neste caso, o attributeValue (o valor x) do ponto de controlo é o valor real do campo numérico para o qual o boostAmount é especificado.
FRESHNESS Para o exemplo de utilização da atualidade, o valor do atributo é a duração entre a hora atual e a data no campo de data/hora especificado. O valor tem de ser formatado como um valor XSD dayTimeDuration (um subconjunto restrito de um valor de duração ISO 8601). O padrão para isto é: [nD][T[nH][nM][nS]]. Por exemplo, 5D, 3DT12H30M, T24H.

InterpolationType

O tipo de interpolação a aplicar. A predefinição é linear (linear por partes).

Enumerações
INTERPOLATION_TYPE_UNSPECIFIED O tipo de interpolação não foi especificado. Neste caso, a predefinição é Linear.
LINEAR É aplicada a interpolação linear por partes.

ControlPoint

Os pontos de controlo usados para definir a curva. A curva definida através destes pontos de controlo só pode ser monotonicamente crescente ou decrescente(os 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 a atualização: o valor tem de ser formatado como um valor XSD dayTimeDuration (um subconjunto restrito de um valor de duração ISO 8601). O padrão para isto é: [nD][T[nH][nM][nS]].

boostAmount

number

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

FilterAction

Especificou que 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 aplicar aos resultados da condição correspondente.

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

dataStore

string

Obrigatório. Especifica os documentos do arquivo de dados que podem ser filtrados por este controlo. Nome completo da loja 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 vai ser redirecionado.

Obrigatório. O URI tem de ter um comprimento igual ou inferior a 2000 carateres. Caso contrário, é gerado um erro INVALID ARGUMENT.

SynonymsAction

Cria um conjunto de termos que atuam como sinónimos uns dos outros.

Exemplo: "feliz" também é considerado "contente", e "contente" também é considerado "feliz".

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

string

Define um conjunto de sinónimos. Pode especificar até 100 sinónimos. Tem de especificar, pelo menos, 2 sinónimos. Caso contrário, é gerado um erro INVALID ARGUMENT.

PromoteAction

Promover determinados links com base em algumas consultas de acionadores.

Exemplo: promova o link da loja de calçado quando pesquisar a palavra-chave shoe. A associação pode estar fora do arquivo de dados associado.

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

string

Obrigatório. Armazenamento de dados ao qual esta promoção está anexada.

SearchLinkPromotion

O proto de promoção inclui o URI e outras informações úteis para apresentar 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 carateres.

uri

string

Opcional. O URL da página que o utilizador quer promover. Tem de ser definido para a pesquisa no site. Para outros verticais, esta ação é opcional.

document

string

Opcional. O Document que o utilizador quer promover. Para a pesquisa de sites, deixe a opção não definida e preencha apenas o URI. Pode ser definido juntamente 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 carateres.

enabled

boolean

Opcional. A promoção ativada é devolvida para todas as configurações de publicação associadas ao elemento principal do controlo ao qual esta promoção está anexada.

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

SearchUseCase

Define uma subdivisão adicional de SolutionType. Aplica-se especificamente a SOLUTION_TYPE_SEARCH.

Enumerações
SEARCH_USE_CASE_UNSPECIFIED Valor usado quando não está definido. Não ocorre no CSS.
SEARCH_USE_CASE_BROWSE Exemplo de utilização de navegação. Espera que o tráfego tenha um query vazio.

Condição

Define as circunstâncias a verificar 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 fazer 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 intervalos de tempo.

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. Apenas suportado para controlos de publicação de promoções da pesquisa no site básica.

QueryTerm

Matcher para a consulta de pedido de pesquisa

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

string

O valor de consulta específico com o qual estabelecer correspondência

Tem de estar em minúsculas e ter a codificação UTF-8. Pode ter, no máximo, 3 termos separados por espaços se fullMatch for verdadeiro. Não pode ser uma string vazia. Comprimento máximo de 5000 carateres.

fullMatch

boolean

Se a consulta de pesquisa tem de corresponder exatamente ao termo de consulta.

TimeRange

Usado para condições dependentes do tempo.

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

string (Timestamp format)

Início do intervalo de tempo.

O intervalo é inclusivo.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". 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 intervalo de tempo.

O intervalo é inclusivo. Tem de ser no futuro.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". 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 controlo.

delete

Elimina um controlo.

get

Obtém um controlo.

list

Lista todos os controlos pelo respetivo elemento principal DataStore.

patch

Atualiza um controlo.