REST Resource: projects.locations.corpora.searchConfigs

Recurso: SearchConfig

SearchConfig almacena diferentes propiedades que afectarán los comportamientos y los resultados de la búsqueda.

Representación JSON
{
  "name": string,
  "facetProperty": {
    object (FacetProperty)
  },
  "searchCriteriaProperty": {
    object (SearchCriteriaProperty)
  }
}
Campos
name

string

Es el nombre del recurso de la configuración de búsqueda. Para CustomSearchCriteria, searchConfig sería el nombre del operador de búsqueda. Para las facetas, searchConfig sería el nombre de la dimensión de la faceta. Formulario: projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{searchConfig}

facetProperty

object (FacetProperty)

Establece una FacetDimension y las especificaciones asociadas.

searchCriteriaProperty

object (SearchCriteriaProperty)

Crea una asignación entre un SearchCriteria personalizado y una o más claves de UGA.

FacetProperty

Configuración central de un atributo.

Representación JSON
{
  "mappedFields": [
    string
  ],
  "displayName": string,
  "resultSize": string,
  "bucketType": enum (FacetBucketType),

  // Union field range_facet_config can be only one of the following:
  "fixedRangeBucketSpec": {
    object (FixedRangeBucketSpec)
  },
  "customRangeBucketSpec": {
    object (CustomRangeBucketSpec)
  },
  "datetimeBucketSpec": {
    object (DateTimeBucketSpec)
  }
  // End of list of possible types for union field range_facet_config.
}
Campos
mappedFields[]

string

Es el nombre de las facetas, que son las dimensiones que los usuarios desean usar para definir mejor los resultados de la búsqueda. mappedFields coincidirá con las claves de UserSpecifiedDataSchema.

Por ejemplo, el usuario puede agregar varias UGA con la misma clave, como jugador:adam, jugador:bob, jugador:carlos. Cuando se especifiquen varios mappedFields, se combinarán sus valores como valor de faceta final. P.ej., home_team: a, home_team:b, away_team:a, away_team:c, cuando facet_field = [home_team, away_team], facet_value será [a, b, c].

A MENOS QUE se trate de una dimensión de faceta 1:1 (mappedFields.size() == 1) Y el mapped_field sea igual al SearchConfig.name superior, el elemento superior también debe contener una SearchCriteriaProperty que se asigne a los mismos campos. mappedFields no debe estar vacío.

displayName

string

Es el nombre visible de la faceta. Se usará en la IU para la renderización de facetas.

resultSize

string (int64 format)

Es la cantidad máxima de buckets únicos que se mostrarán para una faceta. El número de bucket puede ser grande para un atributo de alta cardinalidad, como "jugador". Solo mostramos los más relevantes para el usuario. Si es <= 0, el servidor decidirá el resultSize adecuado.

bucketType

enum (FacetBucketType)

Es el tipo de bucket de la faceta, p.ej., valor o rango.

Campo de unión range_facet_config.

range_facet_config puede ser una de las siguientes opciones:

fixedRangeBucketSpec

object (FixedRangeBucketSpec)

Configuración del bucket de facetas de rango fijo.

customRangeBucketSpec

object (CustomRangeBucketSpec)

Configuración del bucket de facetas de intervalo personalizado

datetimeBucketSpec

object (DateTimeBucketSpec)

Configuración del bucket de facetas de período.

FixedRangeBucketSpec

Si el tipo de bucket es FIXED_RANGE, especifica cómo se agrupan los valores en buckets. Usa FixedRangeBucketSpec cuando quieras crear varios buckets con niveles de detalle iguales. A modo de ejemplo, si se usa el valor de bucket de número entero, cuando bucketStart = 0, bucketGranularity = 10 y bucketCount = 5, esta faceta se agregará a través de los siguientes buckets: [-inf, 0), [0, 10), [10, 20), [20, 30), [30, inf). En particular, bucketCount <= 1 es una especificación no válida.

Representación JSON
{
  "bucketStart": {
    object (FacetValue)
  },
  "bucketGranularity": {
    object (FacetValue)
  },
  "bucketCount": integer
}
Campos
bucketStart

object (FacetValue)

Límite inferior del bucket. NOTA: Por el momento, solo se admite el tipo de número entero para este campo.

bucketGranularity

object (FacetValue)

Nivel de detalle de los buckets NOTA: Por el momento, solo se admite el tipo de número entero para este campo.

bucketCount

integer

Cantidad total de buckets.

FacetValue

Definición de un solo valor con tipo genérico.

Representación JSON
{

  // Union field value can be only one of the following:
  "stringValue": string,
  "integerValue": string,
  "datetimeValue": {
    object (DateTime)
  }
  // End of list of possible types for union field value.
}
Campos

Campo de unión value.

value puede ser una de las siguientes opciones:

stringValue

string

Valor de tipo de cadena.

integerValue

string (int64 format)

Valor de tipo número entero.

datetimeValue

object (DateTime)

Es el valor del tipo de fecha y hora.

CustomRangeBucketSpec

Si el tipo de bucket es CUSTOM_RANGE, especifica cómo se agrupan los valores en buckets. Usa el valor de bucket de número entero como ejemplo. Cuando los extremos sean 0, 10, 100 y 1,000, generaremos las siguientes facetas: [-inf, 0), [0, 10), [10, 100), [100, 1000), [1000, inf). En particular: - Los extremos deben aparecer en orden ascendente. De lo contrario, la API de SearchConfig rechazará la configuración de facetas. - Menos de 1 extremo es una especificación no válida.

Representación JSON
{
  "endpoints": [
    {
      object (FacetValue)
    }
  ]
}
Campos
endpoints[]

object (FacetValue)

Actualmente, solo se admite el tipo de número entero para este campo.

DateTimeBucketSpec

Si el tipo de bucket es DATE, especifica cómo se agrupan los valores de fecha en buckets.

Representación JSON
{
  "granularity": enum (Granularity)
}
Campos
granularity

enum (Granularity)

Nivel de detalle del atributo tipo de fecha

Nivel de detalle

Enum de nivel de detalle para el bucket de fecha y hora.

Enums
GRANULARITY_UNSPECIFIED Nivel de detalle no especificado.
YEAR El nivel de detalle es año.
MONTH El nivel de detalle es mes.
DAY El nivel de detalle es el día.

FacetBucketType

Diferentes tipos de bucket de facetas.

Enums
FACET_BUCKET_TYPE_UNSPECIFIED Tipo no especificado
FACET_BUCKET_TYPE_VALUE Tipo de valor.
FACET_BUCKET_TYPE_DATETIME Es el tipo de fecha y hora.
FACET_BUCKET_TYPE_FIXED_RANGE Tipo de rango fijo.
FACET_BUCKET_TYPE_CUSTOM_RANGE Tipo de período personalizado.

SearchCriteriaProperty

Configuración central para los criterios de búsqueda personalizados

Representación JSON
{
  "mappedFields": [
    string
  ]
}
Campos
mappedFields[]

string

Cada mapped_field corresponde a una clave de UGA. Para comprender cómo funciona esta propiedad, considera el siguiente ejemplo. En la tabla SearchConfig, el usuario agrega esta entrada: searchConfig { name: "person" searchCriteriaProperty { mappedFields: "player" mappedFields: "coach" } }

Ahora, cuando un usuario emite una consulta como la siguiente: criteria { field: "person" textArray { txtValues: "Tom Brady" txtValues: "Bill Belichick" } }

La búsqueda de MWH mostrará documentos de búsqueda en los que (player=Tom Brady || coach=Tom Brady || player=Bill Belichick || coach=Bill Belichick).

Métodos

create

Crea una configuración de búsqueda dentro de un corpus.

delete

Borra una configuración de búsqueda dentro de un corpus.

get

Obtiene una configuración de búsqueda dentro de un corpus.

list

Enumera todas las configuraciones de búsqueda dentro de un corpus.

patch

Actualiza una configuración de búsqueda dentro de un corpus.