Os controlos de publicação (também denominados controlos) alteram o comportamento predefinido de como um pedido é publicado quando são devolvidos resultados. Os controlos de publicação atuam ao nível do armazenamento de dados.
Por exemplo, os controlos podem aumentar e ocultar resultados, filtrar entradas dos resultados devolvidos, associar strings entre si como sinónimos ou redirecionar resultados para URIs especificados.
Acerca dos controlos de publicação
Para alterar os resultados de um pedido, crie primeiro um controlo de publicação. Em seguida, associe esse controlo à configuração de publicação de uma app. Uma configuração de publicação configura metadados que são usados para gerar resultados de tempo de publicação, como resultados da pesquisa ou respostas. Um controlo de publicação só afeta os pedidos publicados pela app se o controlo estiver anexado à configuração de publicação da app.
Alguns controlos, como os controlos de aumento, têm dependências de repositórios de dados. Se um repositório de dados for removido de uma app, todos os controlos dependentes do repositório de dados também são removidos dessa app e ficam inativos, mas não são eliminados.
Tipos de controlos de publicação
Estão disponíveis os seguintes tipos de controlos de publicação:
Controlo | Descrição | Disponível para |
---|---|---|
Controlo do aumento | Altera a ordem dos resultados devolvidos | Pesquise apps com armazenamentos de dados que suportam um esquema, como armazenamentos de dados que contêm dados estruturados ou dados não estruturados com metadados |
Controlo de filtros | Remove entradas dos resultados devolvidos | Pesquise apps com armazenamentos de dados que suportam um esquema, como armazenamentos de dados que contêm dados estruturados ou dados não estruturados com metadados |
Controlo de sinónimos | Associa consultas entre si | Pesquise apps com arquivos de dados estruturados ou não estruturados |
Controlo de redirecionamento | Redireciona para um URI especificado | Todas as apps de pesquisa |
Controlo de promoção | Promove um link especificado para uma consulta | Pesquise apps com arquivos de dados estruturados ou não estruturados |
Acerca das condições
Quando cria um controlo, pode definir opcionalmente uma condição que determine quando o controlo é aplicado. As condições são definidas através de campos de condição. Os seguintes campos de condições estão disponíveis:
queryTerms
. Um controlo opcional que é aplicado quando são pesquisadas consultas específicas. Quando a condiçãoqueryTerms
é usada, o controlo é aplicado quando o valor dequeryTerms
corresponde a um termo emSearchRequest.query
. Os termos de consulta só podem ser usados quando oControl.searchUseCase
está definido comoSOLUTION_TYPE_SEARCH
. É possível especificar até 10queryTerms
diferentes num únicoControl.condition
. Se não forem especificados termos de consulta, o campoqueryTerms
é ignorado.Para criar com êxito um controlo de promoção, tem de especificar o campo
queryTerms
comfullMatch
definido comotrue
oufalse
.activeTimeRange
. Um controlo opcional que é aplicado quando ocorre um pedido num intervalo de tempo especificado. Verifica se a hora em que um pedido foi recebido está entreactiveTimeRange.startTime
eactiveTimeRange.endTime
. É possível especificar até 10 intervalos deactiveTimeRange
num únicoControl.condition
. Se o campoactiveTimeRange
não estiver especificado, o campo é ignorado.
Se forem especificadas várias condições para um controlo, o controlo é aplicado ao pedido de pesquisa quando ambos os tipos de condições são cumpridos. Se forem especificados vários valores para a mesma condição, apenas um dos valores tem de corresponder para que essa condição seja satisfeita.
Por exemplo, considere a seguinte condição com dois termos de consulta especificados:
"queryTerms": [
{
"value": "gShoe",
"fullMatch": true
},
{
"value": "gBoot",
"fullMatch": true
}
]
A condição é cumprida para um pedido com SearchRequest.query="gShoe"
ou um pedido com SearchRequest.query="gBoot"
, mas não é cumprida com SearchRequest.query="gSandal"
nem qualquer outra string.
Se não forem especificadas condições, o controlo é sempre aplicado.
Para mais informações, consulte o campo Condition
na referência da API.
Crie e anexe controlos de publicação de aumentos
Um controlo de publicação de aumento é definido como um controlo com um boostAction
.
Siga as instruções abaixo para criar um controlo de publicação de aumento.
Para ver detalhes dos campos, consulte a
engines.controls
referência da API e a
engines.controls.create
referência da API.
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Gemini Enterprise.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute os seguintes comandos curl para criar os seus controlos.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_SEARCH", "useCases": [ "USE_CASE" ], "conditions": { "queryTerms": [ { "value": "VALUE", "fullMatch": FULL_MATCH } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP", "endTime": "END_TIMESTAMP" } ] }, "boostAction": { "boost": BOOST_VALUE, "filter": "FILTER", "dataStore": "DATA_STORE_RESOURCE_PATH" } }'
Substitua o seguinte:
PROJECT_ID
: o número ou o ID do seu projeto Google Cloud .APP_ID
: o ID da app.CONTROL_ID
: um identificador exclusivo para o controlo. O ID pode conter [1-63] carateres que podem ser letras, dígitos, hífenes e sublinhados.DISPLAY_NAME
: o nome legível do controlo. A Google recomenda que este nome indique quando ou por que motivo usar o controlo. Tem de ser uma string codificada em UTF-8 com um comprimento de [1,128].USE_CASE
: tem de serSEARCH_USE_CASE_SEARCH
ouSEARCH_USE_CASE_BROWSE
. SeSEARCH_USE_CASE_BROWSE
for especificado, não é possível usarCondition.queryTerms
na condição.CONDITION
: um campo opcional que define quando o controlo deve ser aplicado. Contém os seguintes campos:VALUE
: o valor de consulta específico com o qual estabelecer correspondência. É uma string UTF-8 em letras minúsculas com um comprimento de[1, 5000]
. SeFULL_MATCH_1
fortrue
, este campo pode ter, no máximo, três termos separados por espaços.FULL_MATCH
: um valor booleano que indica se a consulta de pesquisa tem de corresponder exatamente ao termo de consulta. Quando definido comotrue
, requer que oSearchRequest.query
corresponda totalmente aoqueryTerm.value
. Quando definido comofalse
, requer queSearchRequest.query
contenhaqueryTerm.value
como uma substring.START_TIMESTAMP
: uma indicação de tempo no formato RFC 3339 UTC "Zulu" para indicar o início de um intervalo de tempo.END_TIMESTAMP
: uma data/hora no formato RFC 3339 UTC "Zulu" para indicar o fim de um intervalo de tempo.
BOOST_VALUE
: um número de vírgula flutuante no intervalo [-1,1]. Quando o valor é negativo, os resultados são despromovidos (aparecem mais abaixo nos resultados). Quando o valor é positivo, os resultados são promovidos (aparecem mais acima nos resultados). Para mais informações, consulteboostAction
.FILTER
: uma string que especifica os requisitos que o documento tem de cumprir. Se o documento corresponder a todos os requisitos, o aumento é aplicado. Caso contrário, não existe nenhuma alteração. Se este campo estiver vazio, o aumento é aplicado a todos os documentos no arquivo de dados. Para a sintaxe de filtragem, consulte o artigo Sintaxe de expressão de filtro. Nota: não é possível filtrar o campo do documentotitle
.DATA_STORE_RESOURCE_PATH
: o caminho completo do recurso do armazenamento de dados cujos documentos devem ser otimizados por este controlo. O formato do caminho completo do recurso éprojects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID
. Este arquivo de dados tem de estar anexado ao motor especificado no pedido.
Associe o controlo à configuração de publicação da app através do método
engines.servingConfigs.patch
.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=boost_control_ids" \ -d '{ "boostControlIds": ["BOOST_ID_1", "BOOST_ID_2"] }'
Substitua
BOOST_ID_N
pelos IDs dos controlos que criou no passo anterior.
Crie e anexe controlos de publicação de filtros
Um controlo de publicação de filtros é definido como um controlo com um filterAction
.
Use as instruções seguintes para criar um controlo de publicação de filtros.
Para ver detalhes dos campos, consulte a
engines.controls
referência da API e a
engines.controls.create
referência da API.
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Gemini Enterprise.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute os seguintes comandos curl para criar os seus controlos.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_SEARCH", "useCases": ["USE_CASE"], "conditions": { "queryTerms": [ { "value": "VALUE", "fullMatch": FULL_MATCH } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP", "endTime": "END_TIMESTAMP" } ] }, "filterAction": { "filter": "FILTER" } }'
Substitua o seguinte:
PROJECT_ID
: o número ou o ID do seu projeto Google Cloud .APP_ID
: o ID da app.CONTROL_ID
: um identificador exclusivo para o controlo. O ID pode conter [1-63] carateres que podem ser letras, dígitos, hífenes e sublinhados.DISPLAY_NAME
: o nome legível do controlo. A Google recomenda que este nome indique quando ou por que motivo usar o controlo. Tem de ser uma string codificada em UTF-8 com um comprimento de [1,128].USE_CASE
: tem de serSEARCH_USE_CASE_SEARCH
ouSEARCH_USE_CASE_BROWSE
. SeSEARCH_USE_CASE_BROWSE
for especificado, não é possível usarCondition.queryTerms
na condição.CONDITION
: um campo opcional que define quando o controlo deve ser aplicado. Contém os seguintes campos:VALUE
: o valor de consulta específico com o qual estabelecer correspondência. É uma string UTF-8 em letras minúsculas com um comprimento de[1, 5000]
. SeFULL_MATCH_1
fortrue
, este campo pode ter, no máximo, três termos separados por espaços.FULL_MATCH
: um valor booleano que indica se a consulta de pesquisa tem de corresponder exatamente ao termo de consulta. Quando definido comotrue
, requer que oSearchRequest.query
corresponda totalmente aoqueryTerm.value
. Quando definido comofalse
, requer queSearchRequest.query
contenhaqueryTerm.value
como uma substring.START_TIMESTAMP
: uma indicação de tempo no formato RFC 3339 UTC "Zulu" para indicar o início de um intervalo de tempo.END_TIMESTAMP
: uma data/hora no formato RFC 3339 UTC "Zulu" para indicar o fim de um intervalo de tempo.
FILTER
: uma string que especifica os requisitos que o documento tem de cumprir. Se o documento corresponder a todos os requisitos, o documento é devolvido nos resultados. Caso contrário, o documento não é apresentado nos resultados. Para a sintaxe de filtragem, consulte o artigo Sintaxe das expressões de filtro. Para mais informações, consultefilterAction
. Nota: não é possível filtrar o campo do documentotitle
.
Associe o controlo à configuração de publicação da app através do método
engines.servingConfigs.patch
.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=filter_control_ids" \ -d '{ "filterControlIds": ["FILTER_ID_1", "FILTER_ID_2"] }'
Substitua
FILTER_ID_N
pelos IDs dos controlos que criou no passo anterior.
Crie e anexe controlos de publicação de sinónimos
Um controlo de publicação de sinónimos é definido como um controlo com um synonymsAction
.
Use as instruções seguintes para criar um controlo de publicação de sinónimos.
Para ver detalhes dos campos, consulte a
engines.controls
referência da API e a
engines.controls.create
referência da API.
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Gemini Enterprise.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute os seguintes comandos curl para criar os seus controlos.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_SEARCH", "useCases": ["USE_CASE"], "conditions": { "queryTerms": [ { "value": "VALUE", "fullMatch": FULL_MATCH } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP", "endTime": "END_TIMESTAMP" } ] }, "synonymsAction": { "synonyms": ["SYNONYMS_1","SYNONYMS_2"] } }'
Substitua o seguinte:
PROJECT_ID
: o número ou o ID do seu projeto Google Cloud .APP_ID
: o ID da app.CONTROL_ID
: um identificador exclusivo para o controlo. O ID pode conter [1-63] carateres que podem ser letras, dígitos, hífenes e sublinhados.DISPLAY_NAME
: o nome legível do controlo. A Google recomenda que este nome indique quando ou por que motivo usar o controlo. Tem de ser uma string codificada em UTF-8 com um comprimento de [1,128].USE_CASE
: tem de serSEARCH_USE_CASE_SEARCH
ouSEARCH_USE_CASE_BROWSE
. SeSEARCH_USE_CASE_BROWSE
for especificado, não é possível usarCondition.queryTerms
na condição.CONDITION
: um campo opcional que define quando o controlo deve ser aplicado. Contém os seguintes campos:VALUE
: o valor de consulta específico com o qual estabelecer correspondência. É uma string UTF-8 em letras minúsculas com um comprimento de[1, 5000]
. SeFULL_MATCH_1
fortrue
, este campo pode ter, no máximo, três termos separados por espaços.FULL_MATCH
: um valor booleano que indica se a consulta de pesquisa tem de corresponder exatamente ao termo de consulta. Quando definido comotrue
, requer que oSearchRequest.query
corresponda totalmente aoqueryTerm.value
. Quando definido comofalse
, requer queSearchRequest.query
contenhaqueryTerm.value
como uma substring.START_TIMESTAMP
: uma indicação de tempo no formato RFC 3339 UTC "Zulu" para indicar o início de um intervalo de tempo.END_TIMESTAMP
: uma data/hora no formato RFC 3339 UTC "Zulu" para indicar o fim de um intervalo de tempo.
SYNONYMS_N
: uma lista de strings associadas entre si, o que aumenta a probabilidade de cada uma apresentar resultados semelhantes. Embora seja mais provável que obtenha resultados semelhantes, quando pesquisa cada uma das entradas de sinónimos, pode não receber todos os resultados relevantes para todos os sinónimos associados. Tem de especificar, pelo menos, dois sinónimos e pode especificar até 100 sinónimos. Cada sinónimo tem de estar codificado em UTF-8 e em letras minúsculas. Não são permitidas strings duplicadas. Por exemplo, pode adicionar "pixel", "telemóvel Android" e "telemóvel Google" como sinónimos. Para mais informações, consultesynonymsAction
.
Associe o controlo à configuração de publicação da app através do método
engines.servingConfigs.patch
.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=synonyms_control_ids" \ -d '{ "synonymsControlIds": ["SYNONYMS_ID_1", "SYNONYMS_ID_2"] }'
Substitua
SYNONYMS_ID_N
pelos IDs dos controlos que criou no passo anterior.
Crie e anexe controlos de publicação de redirecionamentos
Um controlo de publicação de redirecionamentos permite redirecionar os utilizadores para um URI fornecido.
Os controlos de redirecionamento são definidos como um controlo com um redirectAction
.
Use as instruções seguintes para criar um controlo de publicação de redirecionamentos.
Para ver detalhes dos campos, consulte a
engines.controls
referência da API e a
engines.controls.create
referência da API.
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Gemini Enterprise.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute os seguintes comandos curl para criar os seus controlos.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_SEARCH", "useCases": ["USE_CASE"], "conditions": { "queryTerms": [ { "value": "VALUE", "fullMatch": FULL_MATCH } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP", "endTime": "END_TIMESTAMP" } ] }, "redirectAction": { "redirectURI": "REDIRECT_URI" } }'
Substitua o seguinte:
PROJECT_ID
: o número ou o ID do seu projeto Google Cloud .APP_ID
: o ID da app.CONTROL_ID
: um identificador exclusivo para o controlo. O ID pode conter [1-63] carateres que podem ser letras, dígitos, hífenes e sublinhados.DISPLAY_NAME
: o nome legível do controlo. A Google recomenda que este nome indique quando ou por que motivo usar o controlo. Tem de ser uma string codificada em UTF-8 com um comprimento de [1,128].USE_CASE
: tem de serSEARCH_USE_CASE_SEARCH
ouSEARCH_USE_CASE_BROWSE
. SeSEARCH_USE_CASE_BROWSE
for especificado, não é possível usarCondition.queryTerms
na condição.CONDITION
: um campo opcional que define quando o controlo deve ser aplicado. Contém os seguintes campos:VALUE
: o valor de consulta específico com o qual estabelecer correspondência. É uma string UTF-8 em letras minúsculas com um comprimento de[1, 5000]
. SeFULL_MATCH_1
fortrue
, este campo pode ter, no máximo, três termos separados por espaços.FULL_MATCH
: um valor booleano que indica se a consulta de pesquisa tem de corresponder exatamente ao termo de consulta. Quando definido comotrue
, requer que oSearchRequest.query
corresponda totalmente aoqueryTerm.value
. Quando definido comofalse
, requer queSearchRequest.query
contenhaqueryTerm.value
como uma substring.START_TIMESTAMP
: uma indicação de tempo no formato RFC 3339 UTC "Zulu" para indicar o início de um intervalo de tempo.END_TIMESTAMP
: uma data/hora no formato RFC 3339 UTC "Zulu" para indicar o fim de um intervalo de tempo.
REDIRECT_URI_N
: um URI para o qual é redirecionado. Pode ter um comprimento máximo de 2000 carateres. Por exemplo, se o valor do termo de consulta for "apoio técnico", pode definir um redirecionamento para a página de apoio técnico em vez de devolver (ou não devolver) resultados da pesquisa para "apoio técnico". Neste exemplo, o URI de redirecionamento passa a ser"https://www.example.com/support"
. Para mais informações, consulteredirectAction
.
Associe o controlo à configuração de publicação da app através do método
engines.servingConfigs.patch
.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=redirect_control_ids" \ -d '{ "redirectControlIds": ["REDIRECT_ID_1", "REDIRECT_ID_2"] }'
Substitua
REDIRECT_ID_N
pelos IDs dos controlos que criou no passo anterior.
Crie e anexe controlos de publicação de promoções
Um controlo de publicação de promoção permite-lhe apresentar um link como resultado promovido. Este controlo está disponível para apps de pesquisa com arquivos de dados estruturados ou não estruturados e apps de pesquisa combinadas.
Para que o controlo de promoção entre em vigor, tem de o anexar à configuração de publicação da app.
Os controlos de promoção são definidos através de um promoteAction
.
Para criar com êxito um controlo de promoção, tem de especificar o campo queryTerms
com fullMatch
definido como true
ou false
.
Siga as instruções abaixo para criar um controlo de publicação de promoções.
Para ver detalhes dos campos, consulte a
engines.controls
referência da API e a
engines.controls.create
referência da API.
Encontre o ID da app. Se já tiver o ID da app, avance para o passo seguinte.
Na Google Cloud consola, aceda à página Gemini Enterprise.
Na página Apps, encontre o nome da sua app e obtenha o ID da app na coluna ID.
Execute os seguintes comandos curl para criar os seus controlos.
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/controls?controlId=CONTROL_ID" \ -d '{ "displayName": "DISPLAY_NAME", "solutionType": "SOLUTION_TYPE_SEARCH", "useCases": ["USE_CASE"], "conditions": { "queryTerms": [ { "value": "VALUE", "fullMatch": FULL_MATCH_TRUE|FALSE } ], "activeTimeRange": [ { "startTime": "START_TIMESTAMP", "endTime": "END_TIMESTAMP" } ], }, "promoteAction": { "dataStore": "DATA_STORE_RESOURCE_PATH", "searchLinkPromotion": { "document": "DOCUMENT_RESOURCE_PATH", "title": "TITLE", "uri": "URI", "description": "URI_DESCRIPTION", } } }'
Substitua o seguinte:
PROJECT_ID
: o número ou o ID do seu projeto Google Cloud .APP_ID
: o ID da app.CONTROL_ID
: um identificador exclusivo para o controlo. O ID pode conter [1-63] carateres que podem ser letras, dígitos, hífenes e sublinhados.DISPLAY_NAME
: o nome legível do controlo. A Google recomenda que este nome indique quando ou por que motivo usar o controlo. Tem de ser uma string codificada em UTF-8 com um comprimento de [1,128].USE_CASE
: tem de serSEARCH_USE_CASE_SEARCH
ouSEARCH_USE_CASE_BROWSE
. SeSEARCH_USE_CASE_BROWSE
for especificado, não é possível usarCondition.queryTerms
na condição.Condition
: um objeto opcional que define quando o controlo deve ser aplicado. Contém os seguintes campos:queryTerms
:VALUE
: o valor de consulta específico com o qual estabelecer correspondência. É uma string UTF-8 em letras minúsculas com um comprimento de[1, 5000]
.FULL_MATCH_TRUE|FALSE
: um valor booleano para indicar se o termo de consulta tem de corresponder totalmente.
activeTimeRange
:START_TIMESTAMP
: uma indicação de tempo no formato RFC 3339 UTC "Zulu" para indicar o início de um intervalo de tempo.END_TIMESTAMP
: uma data/hora no formato RFC 3339 UTC "Zulu" para indicar o fim de um intervalo de tempo.
DATA_STORE_RESOURCE_PATH
: o caminho completo do recurso do repositório de dados cujos resultados da pesquisa contêm o URL promovido. O formato do caminho completo do recurso éprojects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID
. Este arquivo de dados tem de estar anexado ao motor especificado no pedido.DOCUMENT_RESOURCE_PATH
: um campo para especificar o caminho do recurso do documento a ser promovido. Tem de fornecer o ID do documento no campoDOCUMENT_RESOURCE_PATH
, o URI no campoURI
ou ambos.O formato do caminho completo do recurso é:
projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID
.TITLE
: um campo obrigatório para especificar o título do documento ou da página Web a promover. Este título é apresentado no resultado da pesquisa.URI
: um campo para especificar o URI para onde o resultado da pesquisa direciona o utilizador. Tem de fornecer o ID do documento no campoDOCUMENT_RESOURCE_PATH
, o URI no campoURI
ou ambos.URI_DESCRIPTION
: um campo opcional para descrever o URI, que é apresentado no resultado da pesquisa.
A resposta contém IDs de controlo de promoções que tem de anexar ao controlo de promoções na sua app de pesquisa.
Associe o controlo à configuração de publicação da app através do método
engines.servingConfigs.patch
. A ordem pela qual anexa opromoteControlIds
no pedido seguinte é a ordem pela qual os resultados promocionais são devolvidos.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search?update_mask=promote_control_ids" \ -d '{ "promoteControlIds": ["PROMOTE_ID_1", "PROMOTE_ID_2"] }'
Substitua
PROMOTE_ID_N
pelos IDs dos controlos que recebeu no passo anterior.
O que se segue?
- Para compreender o impacto de um controlo de publicação na qualidade da pesquisa de uma app, avalie a qualidade da pesquisa.