- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- Escopos de autorização
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Snippet
- MatchRange
- Metadados
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Faça um teste
A API de consulta do Cloud Search oferece o método de pesquisa, que retorna os resultados mais relevantes de uma consulta do usuário. Os resultados podem vir de apps do Google Workspace, como o Gmail ou o Google Drive, ou de dados indexados de terceiros.
Observação:essa API exige uma conta de usuário final padrão para ser executada. Uma conta de serviço não pode fazer solicitações diretamente à API Query. Para usar uma conta de serviço e fazer consultas, configure a delegação de autoridade em todo o domínio do Google Workspace.
Solicitação HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
O URL usa a sintaxe de transcodificação gRPC.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
| Representação JSON |
|---|
{ "requestOptions": { object ( |
| Campos | |
|---|---|
requestOptions |
Opções de solicitação, como o aplicativo de pesquisa e o fuso horário do usuário. |
query |
A string de consulta bruta. Consulte os operadores de pesquisa compatíveis em Refinar a pesquisa com operadores. |
pageSize |
Número máximo de resultados da pesquisa a serem retornados em uma página. Os valores válidos estão entre 1 e 100, inclusive. O valor padrão é 10. O valor mínimo é 50 quando são solicitados resultados além de 2.000. |
start |
Índice inicial dos resultados. |
dataSourceRestrictions[] |
As fontes a serem usadas para consulta. Se não for especificado, todas as fontes de dados do aplicativo de pesquisa atual serão usadas. |
facetOptions[] |
|
sortOptions |
As opções para classificar os resultados da pesquisa |
queryInterpretationOptions |
opções para interpretar a consulta do usuário. |
contextAttributes[] |
Atributos de contexto da solicitação que serão usados para ajustar a classificação dos resultados da pesquisa. O número máximo de elementos é 10. |
Corpo da resposta
A resposta da API Search. Próximo ID: 19
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
| Representação JSON |
|---|
{ "queryInterpretation": { object ( |
| Campos | |
|---|---|
queryInterpretation |
resultado da interpretação da consulta do usuário. Vazio se a interpretação de consultas estiver desativada. |
results[] |
Resultados de uma consulta de pesquisa. |
structuredResults[] |
Resultados estruturados para a consulta do usuário. Esses resultados não são contabilizados em relação ao pageSize. |
spellResults[] |
Sugestão de ortografia para a consulta. |
facetResults[] |
Resultados de atributos repetidos. |
hasMoreResults |
Se há mais resultados da pesquisa que correspondem à consulta. |
debugInfo |
Informações de depuração sobre a resposta. |
errorInfo |
Informações de erro sobre a resposta. |
resultCounts |
Informações expandidas sobre a contagem de resultados. |
Campo de união
Em casos raros em que o sistema não consegue pesquisar todos os documentos, execute a consulta novamente. |
|
resultCountEstimate |
A contagem de resultados estimada para esta consulta. |
resultCountExact |
A contagem exata de resultados para essa consulta. |
Escopos de autorização
Requer um dos seguintes escopos do OAuth:
https://www.googleapis.com/auth/cloud_search.queryhttps://www.googleapis.com/auth/cloud_search
Para mais informações, consulte o guia de autorização.
QueryInterpretationOptions
opções para interpretar a consulta do usuário.
| Representação JSON |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| Campos | |
|---|---|
disableNlInterpretation |
Flag para desativar a interpretação de consultas em linguagem natural (LN). O padrão é "false". Defina como "true" para desativar a interpretação de linguagem natural. A interpretação de linguagem natural só se aplica a fontes de dados predefinidas. |
enableVerbatimMode |
Ative essa flag para desativar todas as otimizações internas, como interpretação de consultas em linguagem natural (LN), recuperação de resultados complementares e uso de sinônimos, incluindo os personalizados. A interpretação de NL será desativada se uma das duas flags for verdadeira. |
disableSupplementalResults |
Use essa flag para desativar os resultados complementares de uma consulta. A configuração de resultados complementares escolhida no nível "SearchApplication" terá precedência se for definida como "True". |
QueryInterpretation
| Representação JSON |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| Campos | |
|---|---|
interpretedQuery |
A interpretação da consulta usada na pesquisa. Por exemplo, consultas com intenção de linguagem natural, como "e-mail do João", serão interpretadas como "from:joao source:mail". Esse campo não será preenchido quando o motivo for NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
O motivo da interpretação da consulta. Esse campo não será UNSPECIFIED se o tipo de interpretação não for NONE. |
interpretedQueryActualResultCount |
O número real de resultados retornados pela consulta interpretada. |
interpretedQueryEstimatedResultCount |
O número estimado de resultados retornados pela consulta interpretada. |
QueryInterpretation.InterpretationType
| Tipos enumerados | |
|---|---|
NONE |
Nem a interpretação em linguagem natural nem uma versão mais ampla da consulta são usadas para buscar os resultados da pesquisa. |
BLEND |
Os resultados da consulta original são combinados com outros resultados. O motivo para combinar esses outros resultados com os da consulta original é preenchido no campo "motivo" abaixo. |
REPLACE |
Os resultados da consulta original são substituídos. O motivo da substituição dos resultados da consulta original é preenchido no campo "motivo" abaixo. |
QueryInterpretation.Reason
| Tipos enumerados | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
A interpretação em linguagem natural da consulta é usada para buscar os resultados da pesquisa. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
A similaridade entre os termos da consulta e do documento é usada para ampliar seletivamente a consulta e recuperar mais resultados de pesquisa, já que não foram encontrados resultados suficientes para a consulta do usuário. A consulta interpretada vai estar vazia para esse caso. |
SearchResult
Resultados que contêm informações indexadas para um documento. Próximo ID: 16
| Representação JSON |
|---|
{ "title": string, "url": string, "snippet": { object ( |
| Campos | |
|---|---|
title |
título do resultado da pesquisa. |
url |
O URL do resultado da pesquisa. O URL contém um redirecionamento do Google para o item real. Esse URL é assinado e não deve ser alterado. |
snippet |
A concatenação de todos os snippets (resumos) disponíveis para esse resultado. |
metadata |
metadados do resultado da pesquisa. |
clusteredResults[] |
Se a origem estiver agrupada, forneça uma lista de resultados agrupados. Só haverá um nível de resultados agrupados. Se a origem atual não estiver ativada para clustering, esse campo vai ficar em branco. |
debugInfo |
Informações de depuração sobre este resultado da pesquisa. |
Snippet
Snippet do resultado da pesquisa, que resume o conteúdo da página resultante.
| Representação JSON |
|---|
{
"snippet": string,
"matchRanges": [
{
object ( |
| Campos | |
|---|---|
snippet |
O snippet do documento. Pode conter um caractere HTML com escape que precisa ser removido antes da renderização. |
matchRanges[] |
Os intervalos correspondentes no snippet. |
MatchRange
Intervalo correspondente de um snippet [início, fim).
| Representação JSON |
|---|
{ "start": integer, "end": integer } |
| Campos | |
|---|---|
start |
Posição inicial da correspondência no snippet. |
end |
Fim da partida no snippet. |
Metadados
metadados de um resultado da pesquisa correspondente.
| Representação JSON |
|---|
{ "source": { object ( |
| Campos | |
|---|---|
source |
A fonte nomeada do resultado, como o Gmail. |
mimeType |
Tipo MIME do resultado da pesquisa. |
thumbnailUrl |
O URL da miniatura do resultado. |
owner |
proprietário (geralmente o criador) do documento ou objeto do resultado da pesquisa. |
createTime |
A hora de criação deste documento ou objeto no resultado da pesquisa. 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: |
updateTime |
A data da última modificação do objeto no resultado da pesquisa. Se não estiver definido no item, o valor retornado aqui vai estar vazio. Quando 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: |
fields[] |
Campos indexados em dados estruturados, retornados como uma propriedade nomeada genérica. |
displayOptions |
opções que especificam como mostrar um resultado da pesquisa de dados estruturados. |
objectType |
Tipo de objeto do resultado da pesquisa. |
ResultDisplayMetadata
| Representação JSON |
|---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
| Campos | |
|---|---|
objectTypeLabel |
O rótulo de exibição do objeto. |
metalines[] |
O conteúdo das metalinhas a ser exibido com o resultado. |
ResultDisplayMetadata.ResultDisplayLine
A coleção de campos que compõem uma linha mostrada
| Representação JSON |
|---|
{
"fields": [
{
object ( |
| Campos | |
|---|---|
fields[] |
|
ResultDisplayMetadata.ResultDisplayField
Mostrar campos para resultados de "query.search"
| Representação JSON |
|---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
| Campos | |
|---|---|
label |
O rótulo de exibição da propriedade. |
operatorName |
O nome do operador da propriedade. |
property |
O par nome-valor da propriedade. |
ResultDebugInfo
Informações de depuração sobre o resultado.
| Representação JSON |
|---|
{ "formattedDebugInfo": string } |
| Campos | |
|---|---|
formattedDebugInfo |
Informações gerais de depuração formatadas para exibição. |
StructuredResult
Resultados estruturados retornados como parte de uma solicitação de pesquisa.
| Representação JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de união
|
|
person |
Representação de uma pessoa |
SpellResult
| Representação JSON |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| Campos | |
|---|---|
suggestedQuery |
A ortografia sugerida da consulta. |
suggestionType |
sugestão acionada para a consulta atual. |
suggestedQueryHtml |
O HTML higienizado que representa a consulta com grafia corrigida e pode ser usado na interface. Normalmente, isso tem tags específicas do idioma para marcar partes da consulta que foram corrigidas. |
SpellResult.SuggestionType
O tipo de sugestão acionada para a consulta.
| Tipos enumerados | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
Tipo de verificação ortográfica padrão |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
Sugestão ortográfica sem resultados alterados. Os resultados ainda são mostrados para a consulta original (que tem resultados diferentes de zero) com uma sugestão de ortografia que teria resultados. |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
Sugestão ortográfica acionada quando a consulta original não tem resultados. Quando a consulta original não tem resultados, mas a sugestão de ortografia tem, mostramos os resultados da consulta corrigida. |
SafeHtmlProto
IMPORTANTE: não é seguro aceitar essa mensagem de uma fonte não confiável, já que é trivial para um invasor falsificar mensagens serializadas que não atendem ao contrato de segurança do tipo. Por exemplo, ela pode conter um script controlado pelo invasor. Um sistema que recebe um SafeHtmlProto confia implicitamente no produtor dele. Portanto, geralmente é seguro retornar essa mensagem em respostas de RPC, mas não é seguro aceitá-la em solicitações de RPC.
| Representação JSON |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| Campos | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
IMPORTANTE: nunca defina ou leia este campo, mesmo em testes. Ele é particular. Consulte a documentação na parte de cima do arquivo .proto para ver os pacotes de linguagem de programação com que criar ou ler essa mensagem. |
FacetResult
Resposta de refinamento específica da origem
| Representação JSON |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| Campos | |
|---|---|
sourceName |
Nome da origem para a qual os resultados de refinamento são retornados. Não vai estar vazio. |
objectType |
Tipo de objeto para o qual os resultados de refinamento são retornados. Pode ficar vazio. |
operatorName |
O nome do operador escolhido para a inclusão de facetas. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets para valores na resposta que contém pelo menos um único resultado com o filtro correspondente. |
FacetBucket
Um agrupamento em uma faceta é a unidade básica de operação. Um agrupamento pode incluir um único valor OU um intervalo contíguo de valores, dependendo do tipo do campo agrupado. No momento, "FacetBucket" é usado apenas para retornar o objeto de resposta.
| Representação JSON |
|---|
{ "count": integer, "percentage": integer, "filter": { object ( |
| Campos | |
|---|---|
count |
Número de resultados que correspondem ao valor do bucket. As contagens só são retornadas para pesquisas quando a precisão da contagem é garantida. O Cloud Search não garante a contagem de facetas para nenhuma consulta, e elas podem aparecer apenas de forma intermitente, mesmo para consultas idênticas. Não crie dependências na existência da contagem de facetas. Em vez disso, use porcentagens de contagem de facetas, que são sempre retornadas. |
percentage |
Porcentagem de resultados que correspondem ao valor do bucket. O valor retornado está entre (0 e 100] e é arredondado para baixo até um número inteiro se for fracionário. Se o valor não for retornado explicitamente, ele representará uma porcentagem que será arredondada para 0. As porcentagens são retornadas para todas as pesquisas, mas são uma estimativa. Como as porcentagens são sempre retornadas, renderize porcentagens em vez de contagens. |
filter |
Filtro a ser transmitido na solicitação de pesquisa se o bucket correspondente for selecionado. |
Campo de união bucket_value. O intervalo ou valor do agrupamento por classes que é facetado bucket_value pode ser apenas um dos seguintes: |
|
value |
|
ResponseDebugInfo
Informações de depuração sobre a resposta.
| Representação JSON |
|---|
{ "formattedDebugInfo": string } |
| Campos | |
|---|---|
formattedDebugInfo |
Informações gerais de depuração formatadas para exibição. |
ErrorInfo
Informações de erro sobre a resposta.
| Representação JSON |
|---|
{
"errorMessages": [
{
object ( |
| Campos | |
|---|---|
errorMessages[] |
|
ErrorMessage
Mensagem de erro por resposta da fonte.
| Representação JSON |
|---|
{
"source": {
object ( |
| Campos | |
|---|---|
source |
|
errorMessage |
|
ResultCounts
Informações sobre a contagem de resultados
| Representação JSON |
|---|
{
"sourceResultCounts": [
{
object ( |
| Campos | |
|---|---|
sourceResultCounts[] |
Informações sobre a contagem de resultados para cada fonte com resultados. |
SourceResultCount
Informações de contagem por resultado da origem.
| Representação JSON |
|---|
{ "source": { object ( |
| Campos | |
|---|---|
source |
A origem a que as informações de contagem de resultados estão associadas. |
hasMoreResults |
Se há mais resultados da pesquisa para essa fonte. |
Campo de união
|
|
resultCountEstimate |
A contagem de resultados estimada para esta fonte. |
resultCountExact |
A contagem exata de resultados para essa fonte. |