REST Resource: projects.locations.corpora.searchConfigs

资源:SearchConfig

SearchConfig 会存储会影响搜索行为和搜索结果的不同属性。

JSON 表示法
{
  "name": string,
  "facetProperty": {
    object (FacetProperty)
  },
  "searchCriteriaProperty": {
    object (SearchCriteriaProperty)
  }
}
字段
name

string

搜索配置的资源名称。对于 CustomSearchCriteria,searchConfig 是搜索运算符名称。对于“Facet”,searchConfig 是“Facet”维度名称。表单:projects/{project_number}/locations/{location}/corpora/{corpus}/searchConfigs/{searchConfig}

facetProperty

object (FacetProperty)

建立 FacetDimension 和相关规范。

searchCriteriaProperty

object (SearchCriteriaProperty)

在自定义 SearchCriteria 与一个或多个 UGA 键之间创建映射。

FacetProperty

面面的集中配置。

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.
}
字段
mappedFields[]

string

多个维度组成的构面名称,用户可使用这些维度来优化搜索结果。mappedFields 将与 UserSpecifiedDataSchema 键匹配。

例如,用户可以添加一组具有相同键的 UGA,例如 player:adam、player:bob、player:charles。如果指定了多个 mappedFields,系统会将其值合并为最终的细分值。例如,home_team: a、home_team:b、away_team:a、away_team:c,当 facet_field = [home_team, away_team] 时,facet_value 将为 [a, b, c]。

除非这是 1:1 的细分维度(mappedFields.size() == 1)且 mapped_field 等于父级 SearchConfig.name,否则父级还必须包含映射到相同字段的 SearchCriteriaProperty。mappedFields 不得为空。

displayName

string

Facet 的显示名称。供界面用于分面呈现。

resultSize

string (int64 format)

为一个切面返回的唯一分桶的数量上限。对于“玩家”等高基数维度,存储分区数量可能会很大。我们只会向用户返回与其最相关的前 n 个结果。如果该值小于或等于 0,则服务器将决定适当的 resultSize。

bucketType

enum (FacetBucketType)

面向的细分桶类型,例如值、范围。

联合字段 range_facet_config

range_facet_config 只能是下列其中一项:

fixedRangeBucketSpec

object (FixedRangeBucketSpec)

固定范围细分维度分桶配置。

customRangeBucketSpec

object (CustomRangeBucketSpec)

自定义范围细分桶配置。

datetimeBucketSpec

object (DateTimeBucketSpec)

日期范围细分维度存储分区配置。

FixedRangeBucketSpec

如果分桶类型为 FIXED_RANGE,请指定值的分桶方式。如果您想创建多个粒度相同的存储分区,请使用 FixedRangeBucketSpec。以整数存储分区值为例,当 bucketStart = 0、bucketGranularity = 10、bucketCount = 5 时,此分面将通过以下存储分区汇总:[-inf, 0)、[0, 10)、[10, 20)、[20, 30)、[30, inf)。值得注意的是,bucketCount <= 1 是无效的规范。

JSON 表示法
{
  "bucketStart": {
    object (FacetValue)
  },
  "bucketGranularity": {
    object (FacetValue)
  },
  "bucketCount": integer
}
字段
bucketStart

object (FacetValue)

分桶的下限。注意:此字段目前仅支持整数类型。

bucketGranularity

object (FacetValue)

存储分区粒度。注意:此字段目前仅支持整数类型。

bucketCount

integer

存储分区总数。

FacetValue

具有通用类型的单个值的定义。

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.
}
字段

联合字段 value

value 只能是下列其中一项:

stringValue

string

字符串类型值。

integerValue

string (int64 format)

整数类型值。

datetimeValue

object (DateTime)

日期时间类型值。

CustomRangeBucketSpec

如果分桶类型为 CUSTOM_RANGE,请指定值的分桶方式。以整数分桶值为例,当端点为 0、10、100 和 1000 时,我们会生成以下分面:[-inf, 0)、[0, 10)、[10, 100)、[100, 1000)、[1000, inf)。值得注意的是:- 端点必须按升序列出。否则,SearchConfig API 将拒绝该细分配置。- 端点数量少于 1 是无效规范。

JSON 表示法
{
  "endpoints": [
    {
      object (FacetValue)
    }
  ]
}
字段
endpoints[]

object (FacetValue)

目前,此字段仅支持整数类型。

DateTimeBucketSpec

如果存储分区类型为日期,请指定日期值的分桶方式。

JSON 表示法
{
  "granularity": enum (Granularity)
}
字段
granularity

enum (Granularity)

日期类型细分项的粒度。

细化程度

日期时间存储分区的粒度枚举。

枚举
GRANULARITY_UNSPECIFIED 未指定粒度。
YEAR 粒度为年。
MONTH 粒度为月。
DAY 粒度为天。

FacetBucketType

不同类型的细分桶。

枚举
FACET_BUCKET_TYPE_UNSPECIFIED 未指定类型。
FACET_BUCKET_TYPE_VALUE 值类型。
FACET_BUCKET_TYPE_DATETIME 日期时间类型。
FACET_BUCKET_TYPE_FIXED_RANGE 固定范围类型。
FACET_BUCKET_TYPE_CUSTOM_RANGE “自定义范围”类型。

SearchCriteriaProperty

自定义搜索条件的集中配置。

JSON 表示法
{
  "mappedFields": [
    string
  ]
}
字段
mappedFields[]

string

每个 mapped_field 对应于一个 UGA 键。如需了解此属性的运作方式,请参考以下示例。在 SearchConfig 表中,用户添加以下条目:searchConfig { name: "person" searchCriteriaProperty { mappedFields: "player" mappedFields: "coach" } }

现在,当用户发出如下查询时:criteria { field: "person" textArray { txtValues: "Tom Brady" txtValues: "Bill Belichick" } }

MWH 搜索将返回满足以下条件的搜索文档:(player=Tom Brady || coach=Tom Brady || player=Bill Belichick || coach=Bill Belichick)。

方法

create

在语料库中创建搜索配置。

delete

删除语料库中的搜索配置。

get

获取语料库中的搜索配置。

list

列出语料库中的所有搜索配置。

patch

更新语料库中的搜索配置。