- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Permisos de autorización
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Fragmento
- MatchRange
- Metadatos
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- SpellResult.SuggestionType
- SafeHtmlProto
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Pruébalo
La API de Cloud Search Query proporciona el método de búsqueda, que devuelve los resultados más relevantes de una búsqueda del usuario. Los resultados pueden provenir de apps de Google Workspace, como Gmail o Google Drive, o de datos que indexaste de un tercero.
Nota: Esta API requiere una cuenta de usuario final estándar para ejecutarse. Una cuenta de servicio no puede realizar solicitudes a la API de consulta directamente. Para usar una cuenta de servicio para realizar consultas, configura la delegación de autoridad en todo el dominio de Google Workspace.
Solicitud HTTP
POST https://cloudsearch.googleapis.com/v1/query/search
La URL usa la sintaxis de la transcodificación de gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
| Representación JSON |
|---|
{ "requestOptions": { object ( |
| Campos | |
|---|---|
requestOptions |
Son las opciones de solicitud, como la aplicación de búsqueda y la zona horaria del usuario. |
query |
Es la cadena de consulta sin procesar. Consulta los operadores de búsqueda admitidos en Cómo definir mejor tu búsqueda con operadores |
pageSize |
Es la cantidad máxima de resultados de la búsqueda que se devolverán en una página. Los valores válidos están entre 1 y 100, ambos incluidos. El valor predeterminado es 10. El valor mínimo es 50 cuando se solicitan resultados más allá de 2,000. |
start |
Índice inicial de los resultados. |
dataSourceRestrictions[] |
Son las fuentes que se usarán para la consulta. Si no se especifica, se usan todas las fuentes de datos de la aplicación de búsqueda actual. |
facetOptions[] |
|
sortOptions |
Opciones para ordenar los resultados de la búsqueda |
queryInterpretationOptions |
Son opciones para interpretar la búsqueda del usuario. |
contextAttributes[] |
Son los atributos de contexto de la solicitud que se usarán para ajustar la clasificación de los resultados de la búsqueda. La cantidad máxima de elementos es 10. |
Cuerpo de la respuesta
Es la respuesta de la API de búsqueda. ID SIGUIENTE: 19
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
| Representación JSON |
|---|
{ "queryInterpretation": { object ( |
| Campos | |
|---|---|
queryInterpretation |
Es el resultado de la interpretación de la búsqueda del usuario. Estará vacío si la interpretación de la búsqueda está inhabilitada. |
results[] |
Son los resultados de una búsqueda. |
structuredResults[] |
Son los resultados estructurados de la búsqueda del usuario. Estos resultados no se incluyen en el recuento de pageSize. |
spellResults[] |
Es la ortografía sugerida para la búsqueda. |
facetResults[] |
Son los resultados de facetas repetidos. |
hasMoreResults |
Indica si hay más resultados de la búsqueda que coinciden con la búsqueda. |
debugInfo |
Es información de depuración sobre la respuesta. |
errorInfo |
Es la información del error sobre la respuesta. |
resultCounts |
Se expandió la información del recuento de resultados. |
Campo de unión
En el caso poco frecuente en que el sistema no pueda buscar en todos los documentos, vuelve a ejecutar la búsqueda. |
|
resultCountEstimate |
Es el recuento de resultados estimado para esta búsqueda. |
resultCountExact |
Es el recuento exacto de resultados para esta búsqueda. |
Permisos de autorización
Se necesita uno de los siguientes permisos de OAuth:
https://www.googleapis.com/auth/cloud_search.queryhttps://www.googleapis.com/auth/cloud_search
Para obtener más información, consulta la Guía de autorización.
QueryInterpretationOptions
Opciones para interpretar la búsqueda del usuario.
| Representación JSON |
|---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
| Campos | |
|---|---|
disableNlInterpretation |
Es una marca para inhabilitar la interpretación de lenguaje natural (LN) de las búsquedas. El valor predeterminado es falso. Se debe establecer en verdadero para inhabilitar la interpretación del lenguaje natural. La interpretación del lenguaje natural solo se aplica a las fuentes de datos predefinidas. |
enableVerbatimMode |
Habilita esta marca para desactivar todas las optimizaciones internas, como la interpretación en lenguaje natural (LN) de las búsquedas, la recuperación de resultados complementarios y el uso de sinónimos, incluidos los personalizados. La interpretación del NL se inhabilitará si cualquiera de las dos marcas es verdadera. |
disableSupplementalResults |
Usa esta marca para inhabilitar los resultados complementarios de una búsqueda. El parámetro de configuración de resultados complementarios elegido a nivel de SearchApplication tendrá prioridad si se establece en verdadero. |
QueryInterpretation
| Representación JSON |
|---|
{ "interpretedQuery": string, "interpretationType": enum ( |
| Campos | |
|---|---|
interpretedQuery |
Es la interpretación de la búsqueda que se usa en la búsqueda. Por ejemplo, las búsquedas con intención de lenguaje natural, como "correo electrónico de Juan", se interpretarán como "from:juan source:mail". Este campo no se completará cuando el motivo sea NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY. |
interpretationType |
|
reason |
Es el motivo de la interpretación de la búsqueda. Este campo no será UNSPECIFIED si el tipo de interpretación no es NONE. |
interpretedQueryActualResultCount |
Es la cantidad real de resultados que devuelve la búsqueda interpretada. |
interpretedQueryEstimatedResultCount |
Es la cantidad estimada de resultados que devuelve la búsqueda interpretada. |
QueryInterpretation.InterpretationType
| Enums | |
|---|---|
NONE |
Ni la interpretación en lenguaje natural ni una versión más amplia de la búsqueda se usan para recuperar los resultados de la búsqueda. |
BLEND |
Los resultados de la búsqueda original se combinan con otros resultados. El motivo por el que se combinan estos otros resultados con los de la búsqueda original se completa en el campo "reason" que se muestra a continuación. |
REPLACE |
Se reemplazan los resultados de la búsqueda original. El motivo por el que se reemplazaron los resultados de la búsqueda original se completa en el campo "reason" que se muestra a continuación. |
QueryInterpretation.Reason
| Enums | |
|---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
La interpretación en lenguaje natural de la búsqueda se usa para recuperar los resultados de la búsqueda. |
NOT_ENOUGH_RESULTS_FOUND_FOR_USER_QUERY |
La similitud entre los términos de la búsqueda y los del documento se usa para ampliar la búsqueda de forma selectiva y recuperar resultados adicionales, ya que no se encontraron suficientes resultados para la búsqueda del usuario. La consulta interpretada estará vacía en este caso. |
SearchResult
Son los resultados que contienen información indexada para un documento. ID siguiente: 16
| Representación JSON |
|---|
{ "title": string, "url": string, "snippet": { object ( |
| Campos | |
|---|---|
title |
Título del resultado de la búsqueda. |
url |
Es la URL del resultado de la búsqueda. La URL contiene un redireccionamiento de Google al elemento real. Esta URL está firmada y no se debe cambiar. |
snippet |
Es la concatenación de todos los fragmentos (resúmenes) disponibles para este resultado. |
metadata |
son los metadatos del resultado de la búsqueda. |
clusteredResults[] |
Si la fuente está agrupada, proporciona una lista de los resultados agrupados. Solo habrá un nivel de resultados agrupados. Si la fuente actual no está habilitada para el agrupamiento, este campo estará vacío. |
debugInfo |
Es la información de depuración sobre este resultado de la búsqueda. |
Fragmento
Es el fragmento del resultado de la búsqueda, que resume el contenido de la página resultante.
| Representación JSON |
|---|
{
"snippet": string,
"matchRanges": [
{
object ( |
| Campos | |
|---|---|
snippet |
Es el fragmento del documento. Puede contener caracteres HTML escapados que se deben no escapar antes de la renderización. |
matchRanges[] |
Son los rangos coincidentes en el fragmento. |
MatchRange
Es el rango coincidente de un fragmento [inicio, fin).
| Representación JSON |
|---|
{ "start": integer, "end": integer } |
| Campos | |
|---|---|
start |
Es la posición inicial de la coincidencia en el fragmento. |
end |
Es el final del partido en el fragmento. |
Metadatos
Son los metadatos de un resultado de la búsqueda coincidente.
| Representación JSON |
|---|
{ "source": { object ( |
| Campos | |
|---|---|
source |
Es la fuente con nombre del resultado, como Gmail. |
mimeType |
Tipo de MIME del resultado de la búsqueda. |
thumbnailUrl |
Es la URL de la miniatura del resultado. |
owner |
Propietario (por lo general, el creador) del documento o del objeto del resultado de la búsqueda. |
createTime |
Es la fecha y hora de creación de este documento u objeto en el resultado de la búsqueda. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
updateTime |
Es la fecha de modificación más reciente del objeto en el resultado de la búsqueda. Si no se configura en el elemento, el valor que se devuelve aquí está vacío. Cuando se usa Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: |
fields[] |
Son los campos indexados en los datos estructurados, que se devuelven como una propiedad genérica con nombre. |
displayOptions |
Son opciones que especifican cómo mostrar un resultado de la búsqueda de datos estructurados. |
objectType |
Es el tipo de objeto del resultado de la búsqueda. |
ResultDisplayMetadata
| Representación JSON |
|---|
{
"objectTypeLabel": string,
"metalines": [
{
object ( |
| Campos | |
|---|---|
objectTypeLabel |
Es la etiqueta visible del objeto. |
metalines[] |
Es el contenido de las metalíneas que se mostrará con el resultado. |
ResultDisplayMetadata.ResultDisplayLine
Es la colección de campos que componen una línea mostrada.
| Representación JSON |
|---|
{
"fields": [
{
object ( |
| Campos | |
|---|---|
fields[] |
|
ResultDisplayMetadata.ResultDisplayField
Campos de visualización para los resultados de query.search
| Representación JSON |
|---|
{
"label": string,
"operatorName": string,
"property": {
object ( |
| Campos | |
|---|---|
label |
Es la etiqueta visible de la propiedad. |
operatorName |
Es el nombre del operador de la propiedad. |
property |
Es el par clave-valor de la propiedad. |
ResultDebugInfo
Es información de depuración sobre el resultado.
| Representación JSON |
|---|
{ "formattedDebugInfo": string } |
| Campos | |
|---|---|
formattedDebugInfo |
Es información de depuración general con formato para mostrar. |
StructuredResult
Son los resultados estructurados que se muestran como parte de la solicitud de búsqueda.
| Representación JSON |
|---|
{ // Union field |
| Campos | |
|---|---|
Campo de unión
|
|
person |
Representación de una persona |
SpellResult
| Representación JSON |
|---|
{ "suggestedQuery": string, "suggestionType": enum ( |
| Campos | |
|---|---|
suggestedQuery |
Es la ortografía sugerida de la búsqueda. |
suggestionType |
Es la sugerencia que se activó para la búsqueda actual. |
suggestedQueryHtml |
Es el código HTML sanitizado que representa la consulta con la ortografía corregida y que se puede usar en la IU. Por lo general, tiene etiquetas específicas del idioma para marcar partes de la búsqueda que se verifican ortográficamente. |
SpellResult.SuggestionType
Es el tipo de sugerencia que se activó para la búsqueda.
| Enums | |
|---|---|
SUGGESTION_TYPE_UNSPECIFIED |
Tipo de revisión ortográfica predeterminado |
NON_EMPTY_RESULTS_SPELL_SUGGESTION |
Se cambió la sugerencia ortográfica sin ningún resultado. Los resultados se siguen mostrando para la búsqueda original (que tiene resultados distintos de cero) con una sugerencia de ortografía que tendría resultados. |
ZERO_RESULTS_FULL_PAGE_REPLACEMENT |
Sugerencia de corrección ortográfica que se activa cuando la búsqueda original no arroja resultados. Cuando la búsqueda original no tiene resultados y la sugerencia de corrección ortográfica sí, activamos los resultados para la búsqueda corregida. |
SafeHtmlProto
IMPORTANTE: No es seguro aceptar este mensaje de una fuente no confiable, ya que es trivial para un atacante falsificar mensajes serializados que no cumplen con el contrato de seguridad del tipo. Por ejemplo, podría contener una secuencia de comandos controlada por el atacante. Un sistema que recibe un SafeHtmlProto confía implícitamente en el productor del SafeHtmlProto. Por lo tanto, en general, es seguro devolver este mensaje en las respuestas de RPC, pero no es seguro aceptarlo en las solicitudes de RPC.
| Representación JSON |
|---|
{ "privateDoNotAccessOrElseSafeHtmlWrappedValue": string } |
| Campos | |
|---|---|
privateDoNotAccessOrElseSafeHtmlWrappedValue |
IMPORTANTE: Nunca establezcas ni leas este campo, ni siquiera desde las pruebas, ya que es privado. Consulta la documentación en la parte superior del archivo .proto para obtener información sobre los paquetes de lenguajes de programación con los que se puede crear o leer este mensaje. |
FacetResult
Respuesta de faceta específica de la fuente
| Representación JSON |
|---|
{
"sourceName": string,
"objectType": string,
"operatorName": string,
"buckets": [
{
object ( |
| Campos | |
|---|---|
sourceName |
Es el nombre de la fuente para la que se devuelven los resultados de la faceta. No estará vacío. |
objectType |
Es el tipo de objeto para el que se devuelven los resultados de la faceta. Puede estar vacío. |
operatorName |
Es el nombre del operador elegido para la segmentación. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets para los valores de la respuesta que contiene al menos un resultado con el filtro correspondiente. |
FacetBucket
Un bucket en una faceta es la unidad básica de operación. Un discretizador puede comprender un solo valor O un rango contiguo de valores, según el tipo de campo discretizado. Actualmente, FacetBucket solo se usa para devolver el objeto de respuesta.
| Representación JSON |
|---|
{ "count": integer, "percentage": integer, "filter": { object ( |
| Campos | |
|---|---|
count |
Es la cantidad de resultados que coinciden con el valor del bucket. Los recuentos solo se devuelven para las búsquedas cuando se garantiza la precisión del recuento. Cloud Search no garantiza los recuentos de facetas para ninguna búsqueda, y es posible que los recuentos de facetas solo estén presentes de forma intermitente, incluso para búsquedas idénticas. No compiles dependencias en la existencia del recuento de facetas; en su lugar, usa los porcentajes de recuento de facetas que siempre se devuelven. |
percentage |
Es el porcentaje de resultados que coinciden con el valor del bucket. El valor que se muestra está entre (0 y 100], y se redondea hacia abajo a un número entero si es fraccionario. Si el valor no se devuelve de forma explícita, representa un valor porcentual que se redondea a 0. Los porcentajes se muestran para todas las búsquedas, pero son una estimación. Dado que siempre se devuelven porcentajes, debes renderizar porcentajes en lugar de recuentos. |
filter |
Es el filtro que se pasará en la solicitud de búsqueda si se selecciona el bucket correspondiente. |
Campo de unión bucket_value. El rango o el valor de la discretización en la que se aplica la faceta bucket_value solo puede ser uno de los siguientes: |
|
value |
|
ResponseDebugInfo
Es información de depuración sobre la respuesta.
| Representación JSON |
|---|
{ "formattedDebugInfo": string } |
| Campos | |
|---|---|
formattedDebugInfo |
Es información de depuración general con formato para mostrar. |
ErrorInfo
Es la información del error sobre la respuesta.
| Representación JSON |
|---|
{
"errorMessages": [
{
object ( |
| Campos | |
|---|---|
errorMessages[] |
|
ErrorMessage
Es el mensaje de error por respuesta de la fuente.
| Representación JSON |
|---|
{
"source": {
object ( |
| Campos | |
|---|---|
source |
|
errorMessage |
|
ResultCounts
Información sobre el recuento de resultados
| Representación JSON |
|---|
{
"sourceResultCounts": [
{
object ( |
| Campos | |
|---|---|
sourceResultCounts[] |
Es la información del recuento de resultados para cada fuente con resultados. |
SourceResultCount
Es la información del recuento de resultados por fuente.
| Representación JSON |
|---|
{ "source": { object ( |
| Campos | |
|---|---|
source |
Es la fuente con la que se asocia la información del recuento de resultados. |
hasMoreResults |
Indica si hay más resultados de la búsqueda para esta fuente. |
Campo de unión
|
|
resultCountEstimate |
Es el recuento de resultados estimados para esta fuente. |
resultCountExact |
Es el recuento exacto de resultados para esta fuente. |