用于执行分面搜索的分面规范。
| JSON 表示法 |
|---|
{
"facetKey": {
object ( |
| 字段 | |
|---|---|
facetKey |
必需。分面键规范。 |
limit |
针对相应分面返回的分面值数量上限。如果未指定,则默认为 20。允许的最大值为 300。大于 300 的值会强制转换为 300。对于医疗保健搜索中的汇总,当 [FacetKey.key] 为“healthcare_aggregation_key”时,无论此处设置的值是多少,系统都会在内部将限制替换为 10,000。 如果此字段为负数,则系统会返回 |
excludedFilterKeys[] |
分面时要排除的键列表。 默认情况下,除非 在此字段中列出分面键后,即使分面键值被过滤出搜索结果,仍可显示为分面结果。使用此字段不会影响返回的搜索结果。 例如,假设有 100 个文档的颜色分面为“Red”,200 个文档的颜色分面为“Blue”。包含过滤条件“color:ANY("Red")”且将“color”设为 如果“color”列在“excludedFilterKeys”中,则查询会返回分面值“Red”(数量为 100)和“Blue”(数量为 200),因为“color”键现已从过滤条件中排除。由于此字段不会影响搜索结果,因此搜索结果仍会正确过滤,仅返回“Red”文档。 最多允许 100 个值。否则,系统会返回 |
enableDynamicPosition |
为相应分面启用动态位置。如果设置为 true,则系统会自动确定此分面在响应中所有分面中的位置。如果启用了动态分面,则系统会一起排序。如果设置为 false,则此分面在响应中的位置与在请求中的位置相同,并且其排名高于启用动态位置的分面和所有动态分面。 例如,您可能始终希望在响应中返回评分分面,但不一定总是将评分分面显示在顶部。在这种情况下,您可以将 enableDynamicPosition 设置为 true,以便自动确定评分分面在响应中的位置。 再举一个例子,假设请求中包含以下分面:
此外,您还启用了动态分面,这会生成分面 |
FacetKey
指定如何计算分面。
| JSON 表示法 |
|---|
{
"key": string,
"intervals": [
{
object ( |
| 字段 | |
|---|---|
key |
必需。 |
intervals[] |
仅当值应分桶到区间时才设置。必须针对具有数值的分面进行设置。不得针对具有文本值的分面进行设置。区间数上限为 30。 |
restrictedValues[] |
仅获取指定受限值的分面。仅支持文本字段。例如,假设“category”有三个值:“Action > 2022”“Action > 2021”和“Sci-Fi > 2022”。如果将“restrictedValues”设置为“Action > 2022”,则“category”分面仅包含“Action > 2022”。仅支持文本字段。最大值为 10。 |
prefixes[] |
仅获取以指定字符串前缀开头的分面值。例如,假设“category”有三个值:“Action > 2022”“Action > 2021”和“Sci-Fi > 2022”。如果将“prefixes”设置为“Action”,则“category”分面仅包含“Action > 2022”和“Action > 2021”。仅支持文本字段。最大值为 10。 |
contains[] |
仅获取包含指定字符串的分面值。例如,假设“category”有三个值:“Action > 2022”“Action > 2021”和“Sci-Fi > 2022”。如果将“contains”设置为“2022”,则“category”分面仅包含“Action > 2022”和“Sci-Fi > 2022”。仅支持文本字段。最大值为 10。 |
caseInsensitive |
如果为 true,则在获取包含 prefixes 或 contains 的分面值时,分面键不区分大小写;否则为 false。 |
orderBy |
返回文档的顺序。 允许的值为:
如果未设置,则文本值按自然顺序排序;数值区间按 |