- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- Alcances de la autorización
- QueryInterpretationOptions
- QueryInterpretation
- QueryInterpretation.InterpretationType
- QueryInterpretation.Reason
- SearchResult
- Fragmento
- MatchRange
- Metadatos
- ResultDisplayMetadata
- ResultDisplayMetadata.ResultDisplayLine
- ResultDisplayMetadata.ResultDisplayField
- ResultDebugInfo
- StructuredResult
- SpellResult
- FacetResult
- FacetBucket
- ResponseDebugInfo
- ErrorInfo
- ErrorMessage
- ResultCounts
- SourceResultCount
- Pruébalo
La API de Cloud Search Query proporciona el método de búsqueda, que muestra 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 desde 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 Query 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 gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "requestOptions": { object ( |
Campos | |
---|---|
requestOptions |
Solicita opciones, 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 acotar tu búsqueda con operadores |
pageSize |
Es la cantidad máxima de resultados de la búsqueda que se mostrarán en una página. Los valores válidos están entre 1 y 100 inclusive. El valor predeterminado es 10. El valor mínimo es 50 cuando se solicitan resultados más allá de 2,000. |
start |
Es el índice inicial de los resultados. |
dataSourceRestrictions[] |
Las fuentes que se usarán para realizar consultas. Si no se especifica, se usan todas las fuentes de datos de la aplicación de búsqueda actual. |
facetOptions[] |
|
sortOptions |
Las opciones para ordenar los resultados de la búsqueda |
queryInterpretationOptions |
opciones para interpretar la consulta del usuario. |
contextAttributes[] |
Atributos de contexto para 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
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
La respuesta de la API de búsqueda.
Representación JSON |
---|
{ "queryInterpretation": { object ( |
Campos | |
---|---|
queryInterpretation |
Es el resultado de la interpretación de la consulta del usuario. Estará vacío si la interpretación de consultas está inhabilitada. |
results[] |
Resultados de una búsqueda. |
structuredResults[] |
Resultados estructurados para la consulta del usuario. Estos resultados no se tienen en cuenta en pageSize. |
spellResults[] |
Ortografía sugerida para la búsqueda. |
facetResults[] |
Resultados de facetas repetidos |
hasMoreResults |
Indica si hay más resultados de la búsqueda que coinciden con la consulta. |
debugInfo |
Información de depuración sobre la respuesta. |
errorInfo |
Información de error sobre la respuesta. |
resultCounts |
Información expandida 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 consulta. |
|
resultCountEstimate |
Es el recuento estimado de resultados para esta consulta. |
resultCountExact |
Es el recuento exacto de resultados de esta consulta. |
Permisos de autorización
Se necesita uno de los siguientes permisos de OAuth:
https://www.googleapis.com/auth/cloud_search.query
https://www.googleapis.com/auth/cloud_search
Para obtener más información, consulta la Guía de autorización.
QueryInterpretationOptions
opciones para interpretar la consulta del usuario.
Representación JSON |
---|
{ "disableNlInterpretation": boolean, "enableVerbatimMode": boolean, "disableSupplementalResults": boolean } |
Campos | |
---|---|
disableNlInterpretation |
Marca para inhabilitar la interpretación de consultas en lenguaje natural (NL). El valor predeterminado es "false". Establece el valor en "true" para inhabilitar la interpretación de lenguaje natural. La interpretación de NL solo se aplica a las fuentes de datos predefinidas. |
enableVerbatimMode |
Habilita esta marca para desactivar todas las optimizaciones internas, como la interpretación de búsquedas en lenguaje natural (NL), la recuperación de resultados complementarios y el uso de sinónimos, incluidos los personalizados. La interpretación de Nl se inhabilitará si cualquiera de las dos marcas es verdadera. |
disableSupplementalResults |
Usa esta marca para inhabilitar los resultados complementarios de una consulta. El parámetro de configuración de resultados complementarios elegido a nivel de SearchApplication tendrá prioridad si se establece como "True". |
QueryInterpretation
Representación JSON |
---|
{ "interpretedQuery": string, "interpretationType": enum ( |
Campos | |
---|---|
interpretedQuery |
Es la interpretación de la consulta que se usa en la búsqueda. Por ejemplo, las búsquedas con un intent 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 consulta. Este campo no será UNSPECIFIED si el tipo de interpretación no es NONE. |
QueryInterpretation.InterpretationType
Enumeraciones | |
---|---|
NONE |
No se usa la interpretación de lenguaje natural ni una versión más amplia de la consulta para recuperar los resultados de la búsqueda. |
BLEND |
Los resultados de la consulta original se combinan con otros. El motivo por el que se combinan estos otros resultados con los de la consulta original se propaga en el campo "Motivo" que aparece a continuación. |
REPLACE |
Se reemplazan los resultados de la consulta original. El motivo para reemplazar los resultados de la consulta original se propaga en el campo "Motivo" que aparece a continuación. |
QueryInterpretation.Reason
Enumeraciones | |
---|---|
UNSPECIFIED |
|
QUERY_HAS_NATURAL_LANGUAGE_INTENT |
La interpretación de la consulta en lenguaje natural 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 consulta y los del documento se usa para ampliar de forma selectiva la búsqueda y recuperar resultados adicionales, ya que no se encontraron suficientes resultados para la búsqueda del usuario. La consulta interpretada estará vacía para este caso. |
SearchResult
Resultados que contienen información indexada de un documento.
Representación JSON |
---|
{ "title": string, "url": string, "snippet": { object ( |
Campos | |
---|---|
title |
Es el título del resultado de la búsqueda. |
url |
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 |
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 |
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. Es el fragmento del documento. Puede contener caracteres HTML escapados que se deben desescapar antes de la renderización. |
matchRanges[] |
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 |
Final de la coincidencia en el fragmento. |
Metadatos
metadatos de un resultado de la búsqueda coincidente
Representación JSON |
---|
{ "source": { object ( |
Campos | |
---|---|
source |
Es la fuente nombrada del resultado, como Gmail. |
mimeType |
Es el 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 objeto del resultado de la búsqueda |
createTime |
Es la hora de creación de este documento o objeto en el resultado de la búsqueda. Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
updateTime |
Es la fecha de la última modificación del objeto en el resultado de la búsqueda. Si no se establece en el artículo, el valor que se muestra aquí está vacío. Cuando se usa Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: |
fields[] |
Campos indexados en datos estructurados, que se muestran como una propiedad con nombre genérica. |
displayOptions |
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 líneas de meta que se mostrará con el resultado. |
ResultDisplayMetadata.ResultDisplayLine
Es la colección de campos que conforman una línea que se muestra.
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 |
El par nombre-valor de la propiedad. |
ResultDebugInfo
Información de depuración sobre el resultado.
Representación JSON |
---|
{ "formattedDebugInfo": string } |
Campos | |
---|---|
formattedDebugInfo |
Información de depuración general con formato para mostrar. |
StructuredResult
Son resultados estructurados que se muestran como parte de la solicitud de búsqueda.
Representación JSON |
---|
{
"person": {
object ( |
Campos | |
---|---|
person |
Representación de una persona |
SpellResult
Representación JSON |
---|
{ "suggestedQuery": string } |
Campos | |
---|---|
suggestedQuery |
La ortografía sugerida de la consulta. |
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 muestran los resultados de la faceta. No estará vacío. |
objectType |
Es el tipo de objeto para el que se muestran los resultados de las facetas. Puede estar vacío. |
operatorName |
Es el nombre del operador elegido para la división en facetas. @see cloudsearch.SchemaPropertyOptions |
buckets[] |
FacetBuckets para valores en la respuesta que contienen al menos un resultado con el filtro correspondiente. |
FacetBucket
Un bucket en un atributo es la unidad básica de operación. Un bucket puede incluir un solo valor O un rango contiguo de valores, según el tipo de campo agrupado. Actualmente, FacetBucket solo se usa para mostrar el objeto de respuesta.
Campos | |
---|---|
count |
Cantidad de resultados que coinciden con el valor del bucket. Los recuentos solo se muestran para las búsquedas cuando se garantiza la precisión del recuento. Cloud Search no garantiza los recuentos de facetas para ninguna consulta, y es posible que estos solo estén presentes de forma intermitente, incluso para consultas idénticas. No crees dependencias en la existencia del recuento de facetas. En su lugar, usa los porcentajes de recuento de facetas que siempre se muestran. |
percentage |
Es el porcentaje de resultados que coinciden con el valor del bucket. El valor que se muestra está entre [0-100] y se redondea hacia abajo a un número entero si es fraccionario. Si el valor no se muestra 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. Debido a 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. |
value |
|
ResponseDebugInfo
Información de depuración sobre la respuesta.
Representación JSON |
---|
{ "formattedDebugInfo": string } |
Campos | |
---|---|
formattedDebugInfo |
Información de depuración general con formato para mostrar. |
ErrorInfo
Información de error sobre la respuesta.
Representación JSON |
---|
{
"errorMessages": [
{
object ( |
Campos | |
---|---|
errorMessages[] |
|
ErrorMessage
Mensaje de error por respuesta de la fuente
Representación JSON |
---|
{
"source": {
object ( |
Campos | |
---|---|
source |
|
errorMessage |
|
ResultCounts
Información del recuento de resultados
Representación JSON |
---|
{
"sourceResultCounts": [
{
object ( |
Campos | |
---|---|
sourceResultCounts[] |
Información del recuento de resultados para cada fuente con resultados. |
SourceResultCount
Información del recuento de resultados por fuente
Representación JSON |
---|
{ "source": { object ( |
Campos | |
---|---|
source |
Es la fuente con la que está asociada 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 estimado de resultados para esta fuente. |
resultCountExact |
Es el recuento exacto de resultados de esta fuente. |