- 资源:SearchConfig
- FacetProperty
- FixedRangeBucketSpec
- FacetValue
- CustomRangeBucketSpec
- DateTimeBucketSpec
- 粒度
- FacetBucketType
- SearchCriteriaProperty
- 方法
资源:SearchConfig
SearchConfig 会存储会影响搜索行为和搜索结果的不同属性。
JSON 表示法 |
---|
{ "name": string, "facetProperty": { object ( |
字段 | |
---|---|
name |
搜索配置的资源名称。对于 CustomSearchCriteria,searchConfig 是搜索运算符名称。对于“Facet”,searchConfig 是“Facet”维度名称。表单: |
facetProperty |
建立 FacetDimension 和相关规范。 |
searchCriteriaProperty |
在自定义 SearchCriteria 与一个或多个 UGA 键之间创建映射。 |
FacetProperty
面面的集中配置。
JSON 表示法 |
---|
{ "mappedFields": [ string ], "displayName": string, "resultSize": string, "bucketType": enum ( |
字段 | |
---|---|
mappedFields[] |
多个维度组成的构面名称,用户可使用这些维度来优化搜索结果。 例如,用户可以添加一组具有相同键的 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 |
Facet 的显示名称。供界面用于分面呈现。 |
resultSize |
为一个切面返回的唯一分桶的数量上限。对于“玩家”等高基数维度,存储分区数量可能会很大。我们只会向用户返回与其最相关的前 n 个结果。如果该值小于或等于 0,则服务器将决定适当的 resultSize。 |
bucketType |
面向的细分桶类型,例如值、范围。 |
联合字段
|
|
fixedRangeBucketSpec |
固定范围细分维度分桶配置。 |
customRangeBucketSpec |
自定义范围细分桶配置。 |
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 ( |
字段 | |
---|---|
bucketStart |
分桶的下限。注意:此字段目前仅支持整数类型。 |
bucketGranularity |
存储分区粒度。注意:此字段目前仅支持整数类型。 |
bucketCount |
存储分区总数。 |
FacetValue
具有通用类型的单个值的定义。
JSON 表示法 |
---|
{ // Union field |
字段 | |
---|---|
联合字段
|
|
stringValue |
字符串类型值。 |
integerValue |
整数类型值。 |
datetimeValue |
日期时间类型值。 |
CustomRangeBucketSpec
如果分桶类型为 CUSTOM_RANGE,请指定值的分桶方式。以整数分桶值为例,当端点为 0、10、100 和 1000 时,我们会生成以下分面:[-inf, 0)、[0, 10)、[10, 100)、[100, 1000)、[1000, inf)。值得注意的是:- 端点必须按升序列出。否则,SearchConfig API 将拒绝该细分配置。- 端点数量少于 1 是无效规范。
JSON 表示法 |
---|
{
"endpoints": [
{
object ( |
字段 | |
---|---|
endpoints[] |
目前,此字段仅支持整数类型。 |
DateTimeBucketSpec
如果存储分区类型为日期,请指定日期值的分桶方式。
JSON 表示法 |
---|
{
"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[] |
每个 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)。 |
方法 |
|
---|---|
|
在语料库中创建搜索配置。 |
|
删除语料库中的搜索配置。 |
|
获取语料库中的搜索配置。 |
|
列出语料库中的所有搜索配置。 |
|
更新语料库中的搜索配置。 |