REST Resource: projects.locations.evaluations

Recurso: Evaluation

Una evaluación es una única ejecución (o prueba) de un proceso de evaluación. Encapsula el estado de la evaluación y los datos resultantes.

Representación JSON
{
  "name": string,
  "evaluationSpec": {
    object (EvaluationSpec)
  },
  "qualityMetrics": {
    object (QualityMetrics)
  },
  "state": enum (State),
  "error": {
    object (Status)
  },
  "createTime": string,
  "endTime": string,
  "errorSamples": [
    {
      object (Status)
    }
  ]
}
Campos
name

string

Identificador. Nombre completo del recurso Evaluation, con el formato projects/{project}/locations/{location}/evaluations/{evaluation}.

Este campo debe ser una cadena codificada en UTF-8 con un límite de 1024 caracteres.

evaluationSpec

object (EvaluationSpec)

Obligatorio. Especificación de la evaluación.

qualityMetrics

object (QualityMetrics)

Solo de salida. Las métricas producidas por la evaluación, promediadas en todos los SampleQuerys del SampleQuerySet.

Solo se rellena cuando el estado de la evaluación es SUCCEEDED.

state

enum (State)

Solo de salida. El estado de la evaluación.

error

object (Status)

Solo de salida. El error que se ha producido durante la evaluación. Solo se rellena cuando el estado de la evaluación es FAILED.

createTime

string (Timestamp format)

Solo de salida. Marca de tiempo de la creación de Evaluation.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Solo de salida. Marca de tiempo en la que se completó la Evaluation.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

errorSamples[]

object (Status)

Solo de salida. Una muestra de los errores detectados al procesar la solicitud.

EvaluationSpec

Describe la especificación de la evaluación.

Representación JSON
{
  "querySetSpec": {
    object (QuerySetSpec)
  },

  // Union field search_spec can be only one of the following:
  "searchRequest": {
    object (SearchRequest)
  }
  // End of list of possible types for union field search_spec.
}
Campos
querySetSpec

object (QuerySetSpec)

Opcional. Especificación del conjunto de consultas.

Campo de unión search_spec. Especificación de la búsqueda. search_spec solo puede ser una de estas dos opciones:
searchRequest

object (SearchRequest)

Obligatorio. La solicitud de búsqueda que se utiliza para realizar la evaluación.

Solo se admiten los siguientes campos de SearchRequest. Si se proporciona algún otro campo, se devolverá un error UNSUPPORTED:

SearchRequest

Mensaje de solicitud del método SearchService.Search.

Representación JSON
{
  "servingConfig": string,
  "branch": string,
  "query": string,
  "imageQuery": {
    object (ImageQuery)
  },
  "pageSize": integer,
  "pageToken": string,
  "offset": integer,
  "oneBoxPageSize": integer,
  "dataStoreSpecs": [
    {
      object (DataStoreSpec)
    }
  ],
  "filter": string,
  "canonicalFilter": string,
  "orderBy": string,
  "userInfo": {
    object (UserInfo)
  },
  "languageCode": string,
  "regionCode": string,
  "facetSpecs": [
    {
      object (FacetSpec)
    }
  ],
  "boostSpec": {
    object (BoostSpec)
  },
  "params": {
    string: value,
    ...
  },
  "queryExpansionSpec": {
    object (QueryExpansionSpec)
  },
  "spellCorrectionSpec": {
    object (SpellCorrectionSpec)
  },
  "userPseudoId": string,
  "contentSearchSpec": {
    object (ContentSearchSpec)
  },
  "embeddingSpec": {
    object (EmbeddingSpec)
  },
  "rankingExpression": string,
  "rankingExpressionBackend": enum (RankingExpressionBackend),
  "safeSearch": boolean,
  "userLabels": {
    string: string,
    ...
  },
  "naturalLanguageQueryUnderstandingSpec": {
    object (NaturalLanguageQueryUnderstandingSpec)
  },
  "searchAsYouTypeSpec": {
    object (SearchAsYouTypeSpec)
  },
  "displaySpec": {
    object (DisplaySpec)
  },
  "session": string,
  "sessionSpec": {
    object (SessionSpec)
  },
  "relevanceThreshold": enum (RelevanceThreshold),
  "personalizationSpec": {
    object (PersonalizationSpec)
  },
  "relevanceScoreSpec": {
    object (RelevanceScoreSpec)
  },
  "searchAddonSpec": {
    object (SearchAddonSpec)
  }
}
Campos
servingConfig

string

Obligatorio. Nombre del recurso de la configuración de servicio de búsqueda, como projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config o projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config. Este campo se usa para identificar el nombre de la configuración de servicio, el conjunto de modelos que se usan para hacer la búsqueda.

branch

string

Nombre de recurso de la sucursal, como projects/*/locations/global/collections/default_collection/dataStores/default_data_store/branches/0.

Usa default_branch como ID de rama o deja este campo vacío para buscar documentos en la rama predeterminada.

query

string

Consulta de búsqueda sin procesar.

imageQuery

object (ImageQuery)

Consulta de imagen RAW.

pageSize

integer

Número máximo de Documents que se devolverán. El valor máximo permitido depende del tipo de datos. Los valores superiores al valor máximo se convertirán al valor máximo.

  • Sitios web con indexación básica: Predeterminado 10 y Máximo 25.
  • Sitios web con indexación avanzada: Predeterminado 25 y Máximo 50.
  • Otros: predeterminado 50 y máximo 100.

Si este campo es negativo, se devuelve un error INVALID_ARGUMENT.

pageToken

string

Un token de página recibido de una llamada SearchService.Search anterior. Proporciona este elemento para obtener la siguiente página.

Al hacer la paginación, todos los demás parámetros proporcionados a SearchService.Search deben ser los mismos que aparecen en la llamada que proporcionó el token de la página. De lo contrario, se devuelve un error INVALID_ARGUMENT.

offset

integer

Un número entero indexado en 0 que especifica el desplazamiento actual (es decir, la ubicación del resultado inicial, entre los Documents que la API considera relevantes) en los resultados de búsqueda. Este campo solo se tiene en cuenta si pageToken no está definido.

Si este campo es negativo, se devuelve un error INVALID_ARGUMENT.

Es posible que se limite un desplazamiento grande a un umbral razonable.

oneBoxPageSize

integer

Número máximo de resultados que se devolverán para OneBox. Esto se aplica a cada tipo de OneBox de forma individual. El número predeterminado es 10.

dataStoreSpecs[]

object (DataStoreSpec)

Especificaciones que definen los DataStores concretos que se van a buscar, junto con las configuraciones de esos almacenes de datos. Esto solo se tiene en cuenta en los Engines con varios almacenes de datos. En el caso de los buscadores con un solo almacén de datos, deben usarse las especificaciones que se encuentran directamente en SearchRequest.

filter

string

La sintaxis del filtro consta de un lenguaje de expresiones para crear un predicado a partir de uno o varios campos de los documentos que se van a filtrar. La expresión de filtro distingue entre mayúsculas y minúsculas.

Si este campo no se reconoce, se devuelve un INVALID_ARGUMENT.

El filtrado en Vertex AI Search se realiza asignando la clave de filtro del lado izquierdo a una propiedad de clave definida en el backend de Vertex AI Search. El cliente define esta asignación en su esquema. Por ejemplo, un cliente de medios puede tener un campo "nombre" en su esquema. En este caso, el filtro sería el siguiente: filter --> name:'ANY("king kong")'

Para obtener más información sobre el filtrado, incluida la sintaxis y los operadores de filtro, consulta Filtrar.

canonicalFilter

string

Es el filtro predeterminado que se aplica cuando un usuario realiza una búsqueda sin marcar ningún filtro en la página de búsqueda.

Filtro que se aplica a cada solicitud de búsqueda cuando se necesita mejorar la calidad, por ejemplo, ampliando la consulta. Si una consulta no tiene una cantidad suficiente de resultados, se usará este filtro para determinar si se debe habilitar el flujo de ampliación de la consulta. El filtro original se seguirá usando en la búsqueda ampliada de la consulta. Se recomienda incluir este campo para conseguir una calidad de búsqueda alta.

Para obtener más información sobre la sintaxis de los filtros, consulta SearchRequest.filter.

orderBy

string

El orden en el que se devuelven los documentos. Los documentos se pueden ordenar por un campo de un objeto Document. Déjalo sin definir si los resultados se ordenan por relevancia. La expresión orderBy distingue entre mayúsculas y minúsculas.

Para obtener más información sobre cómo ordenar los resultados de búsqueda de sitios web, consulta el artículo Ordenar resultados de búsqueda web. Para obtener más información sobre cómo ordenar los resultados de búsqueda de atención sanitaria, consulta el artículo Ordenar resultados de búsqueda de atención sanitaria. Si este campo no se reconoce, se devuelve un INVALID_ARGUMENT.

userInfo

object (UserInfo)

Información sobre el usuario final. Muy recomendable para analíticas y personalización. UserInfo.user_agent se usa para deducir deviceType con fines analíticos.

languageCode

string

Se trata del código de idioma BCP-47, como "en-US" o "sr-Latn". Para obtener más información, consulta Campos estándar. Este campo ayuda a interpretar mejor la consulta. Si no se especifica ningún valor, el código de idioma de la consulta se detecta automáticamente, pero puede que no sea preciso.

regionCode

string

El código de país o región Unicode (CLDR) de una ubicación, como "US" y "419". Para obtener más información, consulta Campos estándar. Si se define, los resultados se potenciarán en función del valor de regionCode proporcionado.

facetSpecs[]

object (FacetSpec)

Especificaciones de facetas para la búsqueda por facetas. Si está vacío, no se devuelve ninguna faceta.

Se permiten un máximo de 100 valores. De lo contrario, se devuelve un error INVALID_ARGUMENT.

boostSpec

object (BoostSpec)

Aumenta la especificación para destacar determinados documentos. Para obtener más información sobre el aumento, consulta Aumento.

params

map (key: string, value: value (Value format))

Parámetros de búsqueda adicionales.

En el caso de la búsqueda en sitios web públicos, los valores admitidos son los siguientes:

  • user_country_code: cadena. El valor predeterminado es una cadena vacía. Si se define un valor no vacío, los resultados se restringen o se impulsan en función de la ubicación proporcionada. Por ejemplo, user_country_code: "au"

Para ver los códigos disponibles, consulta Códigos de país.

  • searchType: doble. El valor predeterminado es una cadena vacía. Habilita la búsqueda de contenido que no sea de páginas web en función del valor. El único valor no predeterminado válido es 1, que habilita la búsqueda de imágenes. Por ejemplo, searchType: 1
queryExpansionSpec

object (QueryExpansionSpec)

Especificación de ampliación de consultas que indica las condiciones en las que se produce la ampliación de consultas.

spellCorrectionSpec

object (SpellCorrectionSpec)

La especificación de corrección ortográfica que indica el modo en el que se aplica la corrección ortográfica.

userPseudoId

string

Identificador único para hacer un seguimiento de los visitantes. Por ejemplo, se podría implementar con una cookie HTTP, que debería poder identificar de forma única a un visitante en un solo dispositivo. Este identificador único no debería cambiar si el visitante inicia o cierra sesión en el sitio web.

Este campo NO debe tener un valor fijo, como unknown_visitor.

Debe ser el mismo identificador que UserEvent.user_pseudo_id y CompleteQueryRequest.user_pseudo_id.

El campo debe ser una cadena codificada en UTF-8 con un límite de 128 caracteres. De lo contrario, se devuelve un error INVALID_ARGUMENT.

contentSearchSpec

object (ContentSearchSpec)

Una especificación para configurar el comportamiento de la búsqueda de contenido.

embeddingSpec

object (EmbeddingSpec)

Usa la inserción proporcionada para hacer una recuperación semántica adicional de documentos. La recuperación se basa en el producto escalar de SearchRequest.EmbeddingSpec.EmbeddingVector.vector y la inserción de documentos que se proporciona en SearchRequest.EmbeddingSpec.EmbeddingVector.field_path.

Si no se proporciona SearchRequest.EmbeddingSpec.EmbeddingVector.field_path, se usará ServingConfig.EmbeddingConfig.field_path.

rankingExpression

string

Opcional. La expresión de clasificación controla la clasificación personalizada de los documentos de recuperación. Esto anula ServingConfig.ranking_expression. La sintaxis y las funciones admitidas dependen del valor de rankingExpressionBackend. Si no se proporciona rankingExpressionBackend, se utiliza RANK_BY_EMBEDDING de forma predeterminada.

Si no se proporciona rankingExpressionBackend o se le asigna el valor RANK_BY_EMBEDDING, debe ser una sola función o varias funciones unidas por el signo "+".

  • rankingExpression = function, { " + ", function };

Funciones admitidas:

  • double * relevanceScore
  • double * dotProduct(embedding_field_path)

Variables de función:

  • relevanceScore: palabras clave predefinidas que se usan para medir la relevancia entre la consulta y el documento.
  • embedding_field_path: el campo de inserción de documentos que se usa con el vector de inserción de consultas.
  • dotProduct: función de incrustación entre embedding_field_path y el vector de incrustación de la consulta.

Expresión de clasificación de ejemplo:

Si el documento tiene un campo de inserción doc_embedding, la expresión de clasificación podría ser 0.5 * relevanceScore + 0.3 * dotProduct(doc_embedding).

Si rankingExpressionBackend tiene el valor RANK_BY_FORMULA, se admiten los siguientes tipos de expresiones (y las combinaciones de esas expresiones encadenadas mediante los operadores + o *):

  • double
  • signal
  • log(signal)
  • exp(signal)
  • rr(signal, double > 0): transformación de rango recíproco con el segundo argumento como constante de denominador.
  • isNan(signal): devuelve 0 si la señal es NaN y 1 en caso contrario.
  • fillNan(signal1, signal2 | double) -- si signal1 es NaN, devuelve signal2 | double; de lo contrario, devuelve signal1.

A continuación, se muestran algunos ejemplos de fórmulas de clasificación que usan los tipos de expresiones de clasificación admitidos:

  • 0.2 * semanticSimilarityScore + 0.8 * log(keywordSimilarityScore): se ordena principalmente por el logaritmo de keywordSimilarityScore con un ligero ajuste de semantic_smilarity_score.
  • 0.2 * exp(fillNan(semanticSimilarityScore, 0)) + 0.3 * isNan(keywordSimilarityScore) -- ordena por el exponente de semanticSimilarityScore. Si el valor es NaN, se sustituye por 0. También se añade un ajuste constante de 0,3 a la puntuación final si semanticSimilarityScore es NaN.
  • 0.2 * rr(semanticSimilarityScore, 16) + 0.8 * rr(keywordSimilarityScore, 16): se ordena principalmente por el rango recíproco de keywordSimilarityScore con un ligero ajuste del rango recíproco de semantic_smilarity_score.

Se admiten las siguientes señales:

  • semanticSimilarityScore: ajuste de la similitud semántica que se calcula mediante las inserciones generadas por un modelo propietario de Google. Esta puntuación determina el grado de similitud semántica entre una consulta de búsqueda y un documento.
  • keywordSimilarityScore: el ajuste de la concordancia de palabras clave usa la función de clasificación Best Match 25 (BM25). Esta puntuación se calcula mediante un modelo probabilístico para estimar la probabilidad de que un documento sea pertinente para una consulta determinada.
  • relevanceScore: ajuste de relevancia semántica que usa un modelo propietario de Google para determinar el significado y la intención de la consulta de un usuario en el contexto del contenido de los documentos.
  • pctrRank: ajuste de la tasa de conversión prevista como uso de la clasificación. Se usa el porcentaje de clics previsto (pCTR) para medir la relevancia y el atractivo de un resultado de búsqueda desde el punto de vista del usuario. Un pCTR más alto sugiere que es más probable que el resultado satisfaga la consulta y la intención del usuario, por lo que es una señal valiosa para el ranking.
  • freshnessRank: ajuste de la actualización como clasificación
  • documentAge: tiempo transcurrido en horas desde la última actualización del documento. Es un número de coma flotante (por ejemplo, 0,25 significa 15 minutos).
  • topicalityRank: ajuste de la actualidad como factor de clasificación. Usa un modelo propietario de Google para determinar la superposición basada en palabras clave entre la consulta y el documento.
  • baseRank: el rango predeterminado del resultado
rankingExpressionBackend

enum (RankingExpressionBackend)

Opcional. Backend que se va a usar para la evaluación de la expresión de clasificación.

userLabels

map (key: string, value: string)

Las etiquetas de usuario aplicadas a un recurso deben cumplir los siguientes requisitos:

  • Cada recurso puede tener varias etiquetas, hasta un máximo de 64.
  • Cada etiqueta debe ser un par clave-valor.
  • Las claves tienen una longitud mínima de 1 carácter y una longitud máxima de 63 caracteres, y no pueden estar vacías. Los valores pueden estar vacíos y tener una longitud máxima de 63 caracteres.
  • Las claves y los valores solo pueden contener letras en minúscula, caracteres numéricos, guiones bajos y guiones. Todos los caracteres deben usar la codificación UTF-8 y se pueden utilizar caracteres internacionales.
  • La parte de la clave de una etiqueta debe ser única. Sin embargo, puedes usar la misma clave con varios recursos.
  • Las claves deben empezar por una letra minúscula o un carácter internacional.

Consulta más información en el documento de Google Cloud.

naturalLanguageQueryUnderstandingSpec

object (NaturalLanguageQueryUnderstandingSpec)

Opcional. Configuración de las funciones de comprensión de consultas en lenguaje natural, como la extracción de filtros de campos estructurados de la consulta. Consulta esta documentación para obtener más información. Si no se especifica naturalLanguageQueryUnderstandingSpec, no se hará ninguna otra consulta en lenguaje natural.

searchAsYouTypeSpec

object (SearchAsYouTypeSpec)

Configuración de la búsqueda a medida que se escribe. Solo se admite en el vertical IndustryVertical.MEDIA.

displaySpec

object (DisplaySpec)

Opcional. Configuración de la función de visualización, como el resaltado de coincidencias en los resultados de búsqueda.

session

string

Nombre de recurso de la sesión. Opcional.

La sesión permite a los usuarios hacer llamadas a la API /search de varias fases o coordinar llamadas a la API /search y a la API /answer.

Ejemplo 1 (llamadas a la API /search de varias interacciones): llama a la API /search con el ID de sesión generado en la primera llamada. En este caso, la consulta de búsqueda anterior se tiene en cuenta en la posición de la consulta. Es decir, si la primera consulta es "¿Cómo le fue a Alphabet en el 2022?". y la consulta actual es "¿Y en el 2023?", se interpretará como "¿Cómo le fue a Alphabet en el 2023?".

Ejemplo 2 (coordinación entre llamadas a la API /search y llamadas a la API /answer): llama a la API /answer con el ID de sesión generado en la primera llamada. En este caso, la respuesta se genera en el contexto de los resultados de búsqueda de la primera llamada de búsqueda.

La función de búsqueda multirrespuesta se encuentra en la fase de disponibilidad general privada. Usa la versión v1alpha o v1beta antes de que lancemos esta función para el público general. También puedes solicitar que se te incluya en la lista de permitidos a través del equipo de Asistencia de Google.

sessionSpec

object (SessionSpec)

Especificación de la sesión.

Solo se puede usar cuando se ha definido session.

relevanceThreshold

enum (RelevanceThreshold)

El umbral de relevancia de los resultados de búsqueda.

Se usa el umbral definido por Google, que aprovecha el equilibrio entre la precisión y la recuperación para ofrecer resultados muy precisos y una cobertura completa de la información pertinente.

Esta función no está disponible para las búsquedas relacionadas con la salud.

personalizationSpec

object (PersonalizationSpec)

Especificación de la personalización.

Ten en cuenta que, si se definen ServingConfig.personalization_spec y SearchRequest.personalization_spec, SearchRequest.personalization_spec anula ServingConfig.personalization_spec.

relevanceScoreSpec

object (RelevanceScoreSpec)

Opcional. Especificación para devolver la puntuación de relevancia.

searchAddonSpec

object (SearchAddonSpec)

Opcional. SearchAddonSpec se usa para inhabilitar los complementos de búsqueda según el nuevo modelo de cambio de precios. Este campo solo se admite en las solicitudes de búsqueda.

ImageQuery

Especifica la entrada de consulta de imagen.

Representación JSON
{

  // Union field image can be only one of the following:
  "imageBytes": string
  // End of list of possible types for union field image.
}
Campos

Campo de unión image.

image solo puede ser una de estas dos opciones:

imageBytes

string

Bytes de imagen codificados en Base64. Formatos de imagen admitidos: JPEG, PNG y BMP.

DataStoreSpec

Estructura para definir los almacenes de datos que se van a filtrar en una llamada de búsqueda y las configuraciones de esos almacenes de datos. De lo contrario, se devuelve un error INVALID_ARGUMENT.

Representación JSON
{
  "dataStore": string,
  "filter": string,
  "boostSpec": {
    object (BoostSpec)
  },
  "customSearchOperators": string
}
Campos
dataStore

string

Obligatorio. Nombre completo del recurso DataStore, como projects/{project}/locations/{location}/collections/{collectionId}/dataStores/{dataStoreId}. La ruta debe incluir el número de proyecto. No se admite el ID de proyecto en este campo.

filter

string

Opcional. Especificación de filtro para filtrar documentos en el almacén de datos especificado por el campo dataStore. Para obtener más información sobre los filtros, consulta Filtrar.

boostSpec

object (BoostSpec)

Opcional. Aumenta la especificación para destacar determinados documentos. Para obtener más información sobre el aumento, consulta Aumento.

customSearchOperators

string

Opcional. Operadores de búsqueda personalizados que, si se especifican, se usarán para filtrar los resultados de los almacenes de datos del espacio de trabajo. Para obtener más información sobre los operadores de búsqueda personalizados, consulte SearchOperators.

BoostSpec

Aumenta la especificación para destacar determinados documentos.

Representación JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Campos
conditionBoostSpecs[]

object (ConditionBoostSpec)

Especificaciones de la mejora de la condición. Si un documento cumple varias condiciones de las especificaciones, se aplican y se combinan de forma no lineal las puntuaciones de refuerzo de esas especificaciones. El número máximo de especificaciones es 20.

ConditionBoostSpec

El refuerzo se aplica a los documentos que cumplen una condición.

Representación JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Campos
condition

string

Expresión que especifica una condición de refuerzo. La sintaxis y los campos admitidos son los mismos que los de una expresión de filtro. Consulta la sintaxis y las limitaciones en SearchRequest.filter.

Ejemplos:

  • Para aumentar la relevancia de los documentos con el ID "doc_1" o "doc_2" y el color "Rojo" o "Azul", usa la siguiente consulta: (documentId: ANY("doc_1", "doc_2")) AND (color: ANY("Red", "Blue"))
boost

number

Intensidad del aumento de la condición, que debe estar en el intervalo [-1, 1]. Un impulso negativo significa que se ha bajado de nivel. El valor predeterminado es 0,0.

Si le asignas el valor 1.0, el documento recibirá una gran promoción. Sin embargo, esto no significa necesariamente que el documento impulsado vaya a ser el resultado principal en todo momento, ni que se vayan a excluir otros documentos. Los resultados se pueden seguir mostrando aunque ninguno de ellos cumpla la condición. Además, los resultados que sean significativamente más relevantes para la consulta de búsqueda pueden seguir superando a los documentos que te interesen mucho, pero que no sean relevantes.

Si se asigna el valor -1.0, el documento se degradará considerablemente. Sin embargo, es posible que se sigan mostrando resultados muy relevantes. El documento tendrá dificultades para conseguir una posición bastante alta, pero no se le impedirá por completo.

Si se asigna el valor 0.0, no se aplica ningún aumento. Se ignora la condición de aumento. Solo se define una de las combinaciones (condición, refuerzo) o el elemento boostControlSpec que se indica a continuación. Si se definen ambos, se ignora el refuerzo global y se aplica el refuerzo más detallado de boostControlSpec.

boostControlSpec

object (BoostControlSpec)

Especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

BoostControlSpec

Especificación de la clasificación personalizada basada en el valor de atributo especificado por el cliente. Ofrece más controles para personalizar la clasificación que la combinación simple (condición, impulso) que se ha descrito anteriormente.

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Nombre del campo cuyo valor se usará para determinar el aumento.

attributeType

enum (AttributeType)

Tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo especificado en fieldName. En el caso de los valores numéricos, es sencillo: attributeValue = numerical_field_value. En el caso de la actualización, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

El tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Los puntos de control que se usan para definir la curva. La función monotónica (definida mediante interpolationType más arriba) pasa por los puntos de control que se indican aquí.

AttributeType

El atributo(o la función) al que se debe aplicar la clasificación personalizada.

Enumeraciones
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType no especificado.
NUMERICAL El valor del campo numérico se usará para actualizar de forma dinámica el importe del aumento. En este caso, el valor del atributo (el valor de x) del punto de control será el valor real del campo numérico para el que se especifica boostAmount.
FRESHNESS En el caso práctico de la actualización, el valor del atributo será la duración entre la hora actual y la fecha especificada en el campo datetime. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón es el siguiente: [nD][T[nH][nM][nS]]. Por ejemplo, 5D, 3DT12H30M y T24H.

InterpolationType

El tipo de interpolación que se va a aplicar. El valor predeterminado será lineal (lineal a tramos).

Enumeraciones
INTERPOLATION_TYPE_UNSPECIFIED No se ha especificado el tipo de interpolación. En este caso, se utiliza el valor predeterminado Lineal.
LINEAR Se aplicará la interpolación lineal a tramos.

ControlPoint

Los puntos de control que se usan para definir la curva. La curva definida mediante estos puntos de control solo puede ser creciente o decreciente de forma monótona(se aceptan valores constantes).

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Puede ser uno de los siguientes: 1. Valor del campo numérico. 2. Especificación de la duración de la actualización: el valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración de ISO 8601). El patrón es el siguiente: [nD][T[nH][nM][nS]].

boostAmount

number

Valor entre -1 y 1 que se debe sumar a la puntuación si el atributo attributeValue se evalúa con el valor especificado anteriormente.

FacetSpec

Especificación de una faceta para realizar una búsqueda por facetas.

Representación JSON
{
  "facetKey": {
    object (FacetKey)
  },
  "limit": integer,
  "excludedFilterKeys": [
    string
  ],
  "enableDynamicPosition": boolean
}
Campos
facetKey

object (FacetKey)

Obligatorio. Especificación de la clave de la faceta.

limit

integer

Número máximo de valores de faceta que se devuelven para esta faceta. Si no se especifica, el valor predeterminado es 20. El valor máximo permitido es 300. Los valores superiores a 300 se convierten en 300. En el caso de la agregación en la búsqueda de asistencia sanitaria, cuando [FacetKey.key] sea "healthcare_aggregation_key", el límite se sustituirá por 10.000 internamente, independientemente del valor definido aquí.

Si este campo es negativo, se devuelve un error INVALID_ARGUMENT.

excludedFilterKeys[]

string

Lista de claves que se excluirán al crear facetas.

De forma predeterminada, FacetKey.key no se excluye del filtro a menos que se incluya en este campo.

Si se incluye una clave de faceta en este campo, sus valores podrán aparecer como resultados de faceta aunque se hayan excluido de los resultados de búsqueda. El uso de este campo no afecta a los resultados de búsqueda que se devuelven.

Por ejemplo, supongamos que hay 100 documentos con la faceta de color "Rojo" y 200 documentos con la faceta de color "Azul". Una consulta que contenga el filtro "color:ANY("Rojo")" y que tenga "color" como FacetKey.key devolvería de forma predeterminada solo los documentos "Rojo" en los resultados de búsqueda, así como "Rojo" con el recuento 100 como la única faceta de color. Aunque también hay documentos azules, "Azul" no se mostraría como un valor de faceta disponible.

Si "color" aparece en "excludedFilterKeys", la consulta devuelve los valores de la faceta "Rojo" con el recuento 100 y "Azul" con el recuento 200, ya que la clave "color" ahora está excluida del filtro. Como este campo no afecta a los resultados de búsqueda, estos se siguen filtrando correctamente para devolver solo los documentos "Rojo".

Se permiten un máximo de 100 valores. De lo contrario, se devuelve un error INVALID_ARGUMENT.

enableDynamicPosition

boolean

Habilita la posición dinámica de esta faceta. Si se define como true, la posición de esta faceta entre todas las facetas de la respuesta se determina automáticamente. Si las facetas dinámicas están habilitadas, se ordenan juntas. Si se asigna el valor "false", la posición de esta faceta en la respuesta es la misma que en la solicitud y se clasifica antes de las facetas con la posición dinámica habilitada y de todas las facetas dinámicas.

Por ejemplo, puede que siempre quiera que se devuelva la faceta de valoración en la respuesta, pero no es necesario que siempre se muestre en la parte superior. En ese caso, puedes asignar el valor true a enableDynamicPosition para que la posición de la faceta de valoración en la respuesta se determine automáticamente.

Otro ejemplo, suponiendo que tiene las siguientes facetas en la solicitud:

  • "rating", enableDynamicPosition = true

  • "price", enableDynamicPosition = false

  • "brands", enableDynamicPosition = false

También tiene habilitadas las facetas dinámicas, que generan una faceta gender. El orden final de las facetas en la respuesta puede ser ("price", "brands", "rating", "gender") o ("price", "brands", "gender", "rating"), en función de cómo ordene la API las facetas "gender" y "rating". Sin embargo, observa que "price" y "brands" siempre se clasifican en primer y segundo lugar porque su valor de enableDynamicPosition es false.

FacetKey

Especifica cómo se calcula una faceta.

Representación JSON
{
  "key": string,
  "intervals": [
    {
      object (Interval)
    }
  ],
  "restrictedValues": [
    string
  ],
  "prefixes": [
    string
  ],
  "contains": [
    string
  ],
  "caseInsensitive": boolean,
  "orderBy": string
}
Campos
key

string

Obligatorio. Claves de faceta textuales y numéricas admitidas en el objeto Document, sobre las que se calculan los valores de faceta. La clave de la faceta distingue entre mayúsculas y minúsculas.

intervals[]

object (Interval)

Solo se debe definir si los valores se deben agrupar en intervalos. Se debe definir para las facetas con valores numéricos. No se debe definir para las facetas con valores de texto. El número máximo de intervalos es 30.

restrictedValues[]

string

Solo se obtiene la faceta de los valores restringidos proporcionados. Solo se admite en campos de texto. Por ejemplo, supongamos que "category" tiene tres valores: "Action > 2022", "Action > 2021" y "Sci-Fi > 2022". Si asigna el valor "Action> 2022 " a "restrictedValues", la faceta "category" solo contendrá "Action > 2022". Solo se admite en campos de texto. El máximo es 10.

prefixes[]

string

Solo se obtienen los valores de faceta que empiezan por el prefijo de cadena proporcionado. Por ejemplo, supongamos que "category" tiene tres valores: "Action > 2022", "Action > 2021" y "Sci-Fi > 2022". Si se asigna el valor "Action" a "prefixes", la faceta "category" solo contendrá "Action > 2022" y "Action > 2021". Solo se admite en campos de texto. El máximo es 10.

contains[]

string

Solo se obtienen los valores de faceta que contienen las cadenas proporcionadas. Por ejemplo, supongamos que "category" tiene tres valores: "Action > 2022", "Action > 2021" y "Sci-Fi > 2022". Si se asigna el valor "2022" a "contains", la faceta "category" solo contendrá "Action > 2022" y "Sci-Fi > 2022". Solo se admite en campos de texto. El máximo es 10.

caseInsensitive

boolean

True para que las claves de las facetas no distingan entre mayúsculas y minúsculas al obtener valores de facetas con prefijos o que contengan un texto; false en caso contrario.

orderBy

string

El orden en el que se devuelven los documentos.

Los valores permitidos son:

Si no se define, los valores de texto se ordenan de forma natural y los intervalos numéricos se ordenan según el orden que se indica en FacetSpec.FacetKey.intervals.

Intervalo

Un intervalo de punto flotante.

Representación JSON
{

  // Union field min can be only one of the following:
  "minimum": number,
  "exclusiveMinimum": number
  // End of list of possible types for union field min.

  // Union field max can be only one of the following:
  "maximum": number,
  "exclusiveMaximum": number
  // End of list of possible types for union field max.
}
Campos

Campo de unión min. Límite inferior del intervalo. Si no se define ninguno de los campos mínimos, el límite inferior es infinito negativo.

Este campo no debe ser mayor que el valor máximo. De lo contrario, se devolverá un error INVALID_ARGUMENT. min solo puede ser una de estas dos opciones:

minimum

number

Límite inferior inclusivo.

exclusiveMinimum

number

Límite inferior exclusivo.

Campo de unión max. Límite superior del intervalo. Si no se define ninguno de los campos máximos, el límite superior es infinito positivo.

Este campo no debe ser inferior al valor mínimo. De lo contrario, se devuelve un error INVALID_ARGUMENT. max solo puede ser una de estas dos opciones:

maximum

number

Límite superior inclusivo.

exclusiveMaximum

number

Límite superior exclusivo.

QueryExpansionSpec

Especificación para determinar en qué condiciones se debe producir la ampliación de la consulta.

Representación JSON
{
  "condition": enum (Condition),
  "pinUnexpandedResults": boolean
}
Campos
condition

enum (Condition)

La condición en la que se debe producir la ampliación de la consulta. El valor predeterminado es Condition.DISABLED.

pinUnexpandedResults

boolean

Si se deben fijar los resultados sin expandir. Si este campo tiene el valor true, los productos sin desplegar siempre se mostrarán en la parte superior de los resultados de búsqueda, seguidos de los resultados desplegados.

Condición

Enumeración que describe en qué condiciones se debe producir la ampliación de la consulta.

Enumeraciones
CONDITION_UNSPECIFIED Condición de expansión de consulta no especificada. En este caso, el comportamiento del servidor es Condition.DISABLED de forma predeterminada.
DISABLED Se ha inhabilitado la ampliación de consultas. Solo se utiliza la consulta de búsqueda exacta, aunque SearchResponse.total_size sea cero.
AUTO Expansión automática de consultas creada por la API Search.

SpellCorrectionSpec

Especificación de la corrección ortográfica de la consulta.

Representación JSON
{
  "mode": enum (Mode)
}
Campos
mode

enum (Mode)

El modo en el que la corrección ortográfica sustituye a la consulta de búsqueda original. El valor predeterminado es Mode.AUTO.

Modo

Enumeración que describe en qué modo se debe realizar la corrección ortográfica.

Enumeraciones
MODE_UNSPECIFIED Modo de corrección ortográfica no especificado. En este caso, el comportamiento del servidor es Mode.AUTO de forma predeterminada.
SUGGESTION_ONLY La API Search intenta encontrar una sugerencia ortográfica. Si se encuentra una sugerencia, se coloca en la SearchResponse.corrected_query. La sugerencia ortográfica no se usará como consulta de búsqueda.
AUTO Corrección ortográfica automática creada por la API Search. La búsqueda se basará en la consulta corregida, si se encuentra.

EmbeddingSpec

La especificación que usa un vector de incrustación de consulta personalizado para hacer una recuperación semántica de documentos.

Representación JSON
{
  "embeddingVectors": [
    {
      object (EmbeddingVector)
    }
  ]
}
Campos
embeddingVectors[]

object (EmbeddingVector)

El vector de inserción que se ha usado para la recuperación. Límite: 1.

EmbeddingVector

Vector de inserción.

Representación JSON
{
  "fieldPath": string,
  "vector": [
    number
  ]
}
Campos
fieldPath

string

Ruta de campo de inserción en el esquema.

vector[]

number

Vector de incrustación de la consulta.

RankingExpressionBackend

Backend que se va a usar para la evaluación de la expresión de clasificación.

Enumeraciones
RANKING_EXPRESSION_BACKEND_UNSPECIFIED Opción predeterminada para valores no especificados o desconocidos.
BYOE

Obsoleto: usa RANK_BY_EMBEDDING en su lugar. Clasificación por modelo de inserción personalizado, que es la forma predeterminada de evaluar la expresión de clasificación. Opción de enumación antigua. En su lugar, se debe usar RANK_BY_EMBEDDING.

CLEARBOX

Obsoleto: usa RANK_BY_FORMULA en su lugar. Clasificación por fórmula personalizada. Opción de enumación antigua. En su lugar, se debe usar RANK_BY_FORMULA.

RANK_BY_EMBEDDING Clasificación por modelo de inserción personalizado, que es la forma predeterminada de evaluar la expresión de clasificación.
RANK_BY_FORMULA Clasificación por fórmula personalizada.

NaturalLanguageQueryUnderstandingSpec

Especificación para habilitar las funciones de comprensión del lenguaje natural en las solicitudes de búsqueda.

Representación JSON
{
  "filterExtractionCondition": enum (FilterExtractionCondition),
  "geoSearchQueryDetectionFieldNames": [
    string
  ],
  "extractedFilterBehavior": enum (ExtractedFilterBehavior),
  "allowedFieldNames": [
    string
  ]
}
Campos
filterExtractionCondition

enum (FilterExtractionCondition)

La condición en la que se debe producir la extracción del filtro. El comportamiento predeterminado del servidor es DISABLED.

geoSearchQueryDetectionFieldNames[]

string

Nombres de los campos que se usan para filtrar por ubicación, donde se detectan filtros de geolocalización en las consultas de búsqueda en lenguaje natural. Solo es válido cuando FilterExtractionCondition se define como ENABLED.

Si se define este campo, se anulan los nombres de campo definidos en ServingConfig.geo_search_query_detection_field_names.

extractedFilterBehavior

enum (ExtractedFilterBehavior)

Opcional. Controla el comportamiento de cómo se aplican los filtros extraídos a la búsqueda. El comportamiento predeterminado depende de la solicitud. En el caso de la búsqueda estructurada de un solo almacén de datos, el valor predeterminado es HARD_FILTER. En las búsquedas en varios almacenes de datos, el comportamiento predeterminado es SOFT_BOOST. Los filtros basados en la ubicación siempre se aplican como filtros estrictos, por lo que el ajuste SOFT_BOOST no les afectará. Este campo solo se usa si [SearchRequest.natural_language_query_understanding_spec.filter_extraction_condition][] tiene el valor FilterExtractionCondition.ENABLED.

allowedFieldNames[]

string

Opcional. Lista de permitidos de campos que se pueden usar para la extracción de filtros de lenguaje natural. De forma predeterminada, si no se especifica, todos los campos indexables se pueden usar para extraer filtros de lenguaje natural (pero no se garantiza que se utilicen). Si se especifica algún campo en allowedFieldNames, solo los campos que estén marcados como indexables en el esquema y que se especifiquen en la lista de permitidos podrán extraerse mediante filtros de lenguaje natural. Nota: La búsqueda en varios almacenes de datos aún no se admite y se ignorará.

FilterExtractionCondition

Enumeración que describe en qué condición se debe producir la extracción del filtro.

Enumeraciones
CONDITION_UNSPECIFIED El comportamiento predeterminado del servidor es DISABLED.
DISABLED Inhabilita la extracción de filtros de lenguaje natural.
ENABLED Habilita la extracción de filtros de lenguaje natural.

ExtractedFilterBehavior

Enumeración que describe cómo se aplican los filtros extraídos a la búsqueda.

Enumeraciones
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED usará el comportamiento predeterminado para los filtros extraídos. En el caso de las búsquedas en un solo almacén de datos, los filtros se aplican de forma predeterminada como filtros estrictos. En el caso de la búsqueda en varios almacenes de datos, se aplican como refuerzos parciales de forma predeterminada.
HARD_FILTER Aplica todos los filtros extraídos como filtros fijos en los resultados. Los resultados que no cumplan los filtros extraídos no se devolverán en el conjunto de resultados.
SOFT_BOOST Aplica todos los filtros extraídos como aumentos suaves. Los resultados que cumplan los filtros se impulsarán a puestos más altos en el conjunto de resultados.

SearchAsYouTypeSpec

Especificación de la búsqueda mientras escribes en las solicitudes de búsqueda.

Representación JSON
{
  "condition": enum (Condition)
}
Campos
condition

enum (Condition)

La condición en la que se debe producir la búsqueda a medida que se escribe. El valor predeterminado es Condition.DISABLED.

Condición

Enumeración que describe en qué condiciones se debe producir la búsqueda mientras escribes.

Enumeraciones
CONDITION_UNSPECIFIED El comportamiento predeterminado del servidor es Condition.DISABLED.
DISABLED Inhabilita la búsqueda a medida que se escribe.
ENABLED Habilita la función de búsqueda a medida que se escribe.
AUTO Cambio automático entre los modos de búsqueda mientras escribes y de búsqueda estándar, ideal para implementaciones de una sola API (por ejemplo, para evitar rebotes).

DisplaySpec

Especifica las funciones que se van a mostrar, como el resaltado de coincidencias.

Representación JSON
{
  "matchHighlightingCondition": enum (MatchHighlightingCondition)
}
Campos
matchHighlightingCondition

enum (MatchHighlightingCondition)

La condición en la que se debe destacar la coincidencia.

MatchHighlightingCondition

Enumeración que describe en qué condición se debe destacar la coincidencia.

Enumeraciones
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED El comportamiento del servidor es el mismo que el de MATCH_HIGHLIGHTING_DISABLED.
MATCH_HIGHLIGHTING_DISABLED Inhabilita el resaltado de coincidencias en todos los documentos.
MATCH_HIGHLIGHTING_ENABLED Habilita el resaltado de coincidencias en todos los documentos.

SessionSpec

Especificación de la sesión.

La función de búsqueda multirrespuesta se encuentra en la fase de disponibilidad general privada. Usa la versión v1alpha o v1beta antes de que lancemos esta función para el público general. También puedes solicitar que se te incluya en la lista de permitidos a través del equipo de Asistencia de Google.

Representación JSON
{
  "queryId": string,
  "searchResultPersistenceCount": integer
}
Campos
queryId

string

Si se define, el resultado de búsqueda se almacena en el turno especificado por este ID de consulta.

Ejemplo: Supongamos que la sesión es la siguiente: session { name: ".../sessions/xxx" turns { query { text: "¿Qué es foo?" queryId: ".../questions/yyy" } answer: "Foo es ..." } turns { query { text: "¿Y bar?" queryId: ".../questions/zzz" } } }

El usuario puede llamar a la API /search con una solicitud como esta:

session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" }

Después, la API almacena el resultado de búsqueda asociado al último turno. El resultado de la búsqueda almacenada se puede usar en una llamada posterior a la API /answer (con el ID de sesión y el ID de consulta especificados). También es posible llamar a /search y /answer en paralelo con el mismo ID de sesión y el mismo ID de consulta.

searchResultPersistenceCount

integer

Número de resultados de búsqueda principales que se conservarán. Los resultados de búsqueda persistentes se pueden usar en la llamada posterior a la API /answer.

Este campo es similar al campo summaryResultCount de SearchRequest.ContentSearchSpec.SummarySpec.summary_result_count.

Un máximo de 10 resultados en el modo Documentos o 50 en el modo Fragmentos.

RelevanceThreshold

El umbral de relevancia de los resultados de búsqueda. Cuanto más alto sea el umbral de relevancia, más resultados relevantes se mostrarán y menos resultados se devolverán.

Enumeraciones
RELEVANCE_THRESHOLD_UNSPECIFIED Valor predeterminado. En este caso, el comportamiento del servidor se ajusta al umbral definido por Google.
LOWEST Umbral de relevancia más bajo.
LOW Umbral de relevancia bajo.
MEDIUM Umbral de relevancia medio.
HIGH Umbral de relevancia alto.

RelevanceScoreSpec

Especificación para devolver la puntuación de relevancia del documento.

Representación JSON
{
  "returnRelevanceScore": boolean
}
Campos
returnRelevanceScore

boolean

Opcional. Indica si se devuelve la puntuación de relevancia de los resultados de búsqueda. Cuanto mayor sea la puntuación, más relevante será el documento para la consulta.

SearchAddonSpec

SearchAddonSpec se usa para inhabilitar los complementos de búsqueda según el nuevo modelo de cambio de precios. De forma predeterminada, si no se especifica SearchAddonSpec, consideramos que el cliente quiere habilitarlos siempre que sea posible.

Representación JSON
{
  "disableSemanticAddOn": boolean,
  "disableKpiPersonalizationAddOn": boolean,
  "disableGenerativeAnswerAddOn": boolean
}
Campos
disableSemanticAddOn

boolean

Opcional. Si es true, el complemento semántico se inhabilita. El complemento semántico incluye inserciones y jetstream.

disableKpiPersonalizationAddOn

boolean

Opcional. Si es true, inhabilita la personalización y la reválida de eventos para optimizar los KPIs y personalizar los resultados.

disableGenerativeAnswerAddOn

boolean

Opcional. Si se le asigna el valor true, el complemento de respuestas generativas se inhabilita. El complemento de respuestas generativas incluye lenguaje natural para filtros y respuestas sencillas.

QuerySetSpec

Describe la especificación del conjunto de consultas.

Representación JSON
{
  "sampleQuerySet": string
}
Campos
sampleQuerySet

string

Opcional. Nombre completo del recurso SampleQuerySet usado en la evaluación, con el formato projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}.

QualityMetrics

Describe las métricas que genera la evaluación.

Representación JSON
{
  "docRecall": {
    object (TopkMetrics)
  },
  "docPrecision": {
    object (TopkMetrics)
  },
  "docNdcg": {
    object (TopkMetrics)
  },
  "pageRecall": {
    object (TopkMetrics)
  },
  "pageNdcg": {
    object (TopkMetrics)
  }
}
Campos
docRecall

object (TopkMetrics)

Recuperación por documento en varios niveles de umbral top-k.

La recuperación es la fracción de documentos relevantes recuperados de entre todos los documentos relevantes.

Ejemplo (los 5 primeros): * Para un solo SampleQuery, si se recuperan 3 de los 5 documentos relevantes entre los 5 primeros, recuperación@5 = 3/5 = 0,6

docPrecision

object (TopkMetrics)

Precisión por documento en varios niveles de corte top-k.

La precisión es la fracción de documentos recuperados que son relevantes.

Ejemplo (los 5 primeros): * Para un solo SampleQuery, si 4 de los 5 documentos recuperados en los 5 primeros son relevantes, precisión@5 = 4/5 = 0,8

docNdcg

object (TopkMetrics)

Ganancia acumulativa normalizada descontada (NDCG) por documento, con varios niveles de corte top-k.

El NDCG mide la calidad de la clasificación y da más relevancia a los resultados principales.

Ejemplo (los 3 primeros): Supongamos que SampleQuery con tres documentos recuperados (D1, D2 y D3) y juicios de relevancia binarios (1 para relevante y 0 para no relevante):

Obtenido: [D3 (0), D1 (1), D2 (1)] Ideal: [D1 (1), D2 (1), D3 (0)]

Calcula NDCG@3 para cada SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * DCG@3 ideal: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3: 1,13/1,63 = 0,693

pageRecall

object (TopkMetrics)

Recuerdo por página, en varios niveles de corte top-k.

La cobertura es la fracción de páginas relevantes que se han recuperado de todas las páginas relevantes.

Ejemplo (5 primeros): * Para un solo SampleQuery, si se recuperan 3 de las 5 páginas relevantes en los 5 primeros resultados, recuperación@5 = 3/5 = 0,6

pageNdcg

object (TopkMetrics)

Ganancia acumulativa normalizada descontada (NDCG) por página, en varios niveles de corte superior k.

El NDCG mide la calidad de la clasificación y da más relevancia a los resultados principales.

Ejemplo (los 3 primeros): supongamos que SampleQuery con tres páginas recuperadas (P1, P2 y P3) y juicios de relevancia binarios (1 para relevante y 0 para no relevante):

Obtenido: [P3 (0), P1 (1), P2 (1)] Ideal: [P1 (1), P2 (1), P3 (0)]

Calcula NDCG@3 para SampleQuery: * DCG@3: 0/log2(1+1) + 1/log2(2+1) + 1/log2(3+1) = 1,13 * DCG@3 ideal: 1/log2(1+1) + 1/log2(2+1) + 0/log2(3+1) = 1,63 * NDCG@3: 1,13/1,63 = 0,693

TopkMetrics

Almacena los valores de las métricas en niveles de los k elementos principales específicos.

Representación JSON
{
  "top1": number,
  "top3": number,
  "top5": number,
  "top10": number
}
Campos
top1

number

El valor superior.

top3

number

El valor de los tres primeros.

top5

number

El valor de los cinco primeros.

top10

number

El valor de los 10 primeros.

Estado

Describe el estado de una evaluación.

Enumeraciones
STATE_UNSPECIFIED La evaluación no se ha especificado.
PENDING El servicio se está preparando para ejecutar la evaluación.
RUNNING La evaluación está en curso.
SUCCEEDED La evaluación se ha completado correctamente.
FAILED No se ha podido realizar la evaluación.

Métodos

create

Crea un Evaluation.

get

Obtiene un Evaluation.

list

Obtiene una lista de Evaluations.

listResults

Obtiene una lista de resultados de un Evaluation determinado.