- 资源:Evaluation
 - EvaluationSpec
 - ImageQuery
 - FacetSpec
 - FacetKey
 - Interval
 - QueryExpansionSpec
 - 条件
 - SpellCorrectionSpec
 - Mode
 - EmbeddingSpec
 - EmbeddingVector
 - RankingExpressionBackend
 - NaturalLanguageQueryUnderstandingSpec
 - FilterExtractionCondition
 - ExtractedFilterBehavior
 - SearchAsYouTypeSpec
 - 条件
 - DisplaySpec
 - MatchHighlightingCondition
 - SessionSpec
 - RelevanceThreshold
 - RelevanceScoreSpec
 - SearchAddonSpec
 - QuerySetSpec
 - QualityMetrics
 - TopkMetrics
 - 状态
 - 方法
 
资源:评价
评估是指评估流程的单次执行(或运行)。它封装了评估的状态和生成的数据。
| JSON 表示法 | 
|---|
{ "name": string, "evaluationSpec": { object (  | 
              
| 字段 | |
|---|---|
name | 
                
                   
 标识符。 此字段必须是采用 UTF-8 编码的字符串,长度上限为 1024 个字符。  | 
              
evaluationSpec | 
                
                   
 必需。评估的规范。  | 
              
qualityMetrics | 
                
                   
 仅限输出。评估产生的指标,在  仅在评估状态为 SUCCEEDED 时填充。  | 
              
state | 
                
                   
 仅限输出。评估的状态。  | 
              
error | 
                
                   
 仅限输出。评估期间发生的错误。仅当评估状态为 FAILED 时填充。  | 
              
createTime | 
                
                   
 仅限输出。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:  | 
              
endTime | 
                
                   
 仅限输出。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:  | 
              
errorSamples[] | 
                
                   
 仅限输出。处理请求时遇到的错误示例。  | 
              
EvaluationSpec
描述评估的规范。
| JSON 表示法 | 
|---|
{ "querySetSpec": { object (  | 
              
| 字段 | |
|---|---|
querySetSpec | 
                
                   
 可选。查询集的规范。  | 
              
联合字段 search_spec。搜索规范。search_spec 只能是下列其中一项: | 
              |
searchRequest | 
                
                   
 必需。用于执行评估的搜索请求。 仅支持 SearchRequest 中的以下字段;如果提供任何其他字段,系统将返回 UNSUPPORTED 错误:  | 
              
ImageQuery
指定图片查询输入。
| JSON 表示法 | 
|---|
{ // Union field  | 
              
| 字段 | |
|---|---|
联合字段  
  | 
              |
imageBytes | 
                
                   
 Base64 编码的图片字节。支持的图片格式:JPEG、PNG 和 BMP。  | 
              
FacetSpec
用于执行分面搜索的分面规范。
| JSON 表示法 | 
|---|
{
  "facetKey": {
    object ( | 
              
| 字段 | |
|---|---|
facetKey | 
                
                   
 必需。分面键规范。  | 
              
limit | 
                
                   
 针对相应分面返回的分面值数量上限。如果未指定,则默认为 20。允许的最大值为 300。大于 300 的值会强制转换为 300。对于医疗保健搜索中的聚合,当 [FacetKey.key] 为“healthcare_aggregation_key”时,无论此处设置的值是多少,系统都会在内部将限制替换为 10,000。 如果此字段为负数,则返回   | 
              
excludedFilterKeys[] | 
                
                   
 分面时要排除的键的列表。 默认情况下,除非  在此字段中列出构面键后,即使构面值被过滤出搜索结果,仍可显示为构面结果。使用此字段不会影响返回的搜索结果。 例如,假设有 100 个文档的颜色构面为“红色”,200 个文档的颜色构面为“蓝色”。包含过滤条件“color:ANY("Red")”且将“color”设为  如果“color”列在“excludedFilterKeys”中,则查询会返回构面值“Red”(数量为 100)和“Blue”(数量为 200),因为“color”键现在已从过滤条件中排除。由于此字段不会影响搜索结果,因此搜索结果仍会正确过滤,仅返回“红色”文档。 最多允许 100 个值。否则,系统将返回   | 
              
enableDynamicPosition | 
                
                   
 为此分面启用动态位置。如果设置为 true,则系统会自动确定此分面在响应中所有分面中的位置。如果启用了动态分面,则会一起排序。如果设置为 false,则相应分面在响应中的位置与在请求中的位置相同,并且其排名高于启用动态位置的分面和所有动态分面。 例如,您可能希望始终在响应中返回评分分面,但不一定始终将评分分面显示在顶部。在这种情况下,您可以将 enableDynamicPosition 设置为 true,以便自动确定响应中评分分面的位置。 再举一个例子,假设请求中包含以下方面: 
 此外,您还启用了动态分面,这会生成分面   | 
              
FacetKey
指定如何计算分面。
| JSON 表示法 | 
|---|
{
  "key": string,
  "intervals": [
    {
      object ( | 
              
| 字段 | |
|---|---|
key | 
                
                   
 必需。  | 
              
intervals[] | 
                
                   
 仅当值应分桶到区间时才设置。必须针对具有数值的分面进行设置。不得为具有文本值的 Facet 设置。间隔数上限为 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,则在获取带有前缀或包含的分面值时,分面键不区分大小写;否则为 false。  | 
              
orderBy | 
                
                   
 返回文档的顺序。 允许的值为: 
 如果未设置,则文本值按自然顺序排序;数值区间按   | 
              
间隔
浮点区间。
| JSON 表示法 | 
|---|
{ // Union field  | 
              
| 字段 | |
|---|---|
联合字段  此字段的值不得大于 max。否则,系统会返回   | 
              |
minimum | 
                
                   
 包含在范围内的下限。  | 
              
exclusiveMinimum | 
                
                   
 不含下限。  | 
              
联合字段  此字段不得小于最小值。否则,系统将返回   | 
              |
maximum | 
                
                   
 包含上限。  | 
              
exclusiveMaximum | 
                
                   
 不含上限。  | 
              
QueryExpansionSpec
用于确定在哪些条件下应进行查询扩展的规范。
| JSON 表示法 | 
|---|
{
  "condition": enum ( | 
              
| 字段 | |
|---|---|
condition | 
                
                   
 应进行查询扩展的条件。默认为   | 
              
pinUnexpandedResults | 
                
                   
 是否固定未展开的结果。如果此字段设置为 true,则未使用扩展功能的商品始终显示在搜索结果的顶部,然后才是使用扩展功能搜索到的商品。  | 
              
条件
一种枚举,用于描述在何种条件下应进行查询扩展。
| 枚举 | |
|---|---|
CONDITION_UNSPECIFIED | 
                未指定查询扩展条件。在这种情况下,服务器行为默认为 Condition.DISABLED。 | 
              
DISABLED | 
                停用了查询扩展功能。即使 SearchResponse.total_size 为零,系统也只会使用确切的搜索查询。 | 
              
AUTO | 
                由 Search API 构建的自动查询扩展。 | 
SpellCorrectionSpec
查询拼写更正的规范。
| JSON 表示法 | 
|---|
{
  "mode": enum ( | 
              
| 字段 | |
|---|---|
mode | 
                
                   
 拼写更正功能替换原始搜索查询所采用的模式。默认值为   | 
              
模式
用于描述应在何种模式下进行拼写更正的枚举。
| 枚举 | |
|---|---|
MODE_UNSPECIFIED | 
                未指定拼写校正模式。在这种情况下,服务器行为默认为 Mode.AUTO。 | 
              
SUGGESTION_ONLY | 
                搜索 API 会尝试查找拼写建议。如果找到建议,则将其放入 SearchResponse.corrected_query 中。拼写建议不会用作搜索查询。 | 
              
AUTO | 
                由 Search API 提供的自动拼写更正功能。如果找到更正后的查询,则搜索将基于该查询。 | 
EmbeddingSpec
使用自定义查询嵌入向量进行语义文档检索的规范。
| JSON 表示法 | 
|---|
{
  "embeddingVectors": [
    {
      object ( | 
              
| 字段 | |
|---|---|
embeddingVectors[] | 
                
                   
 用于检索的嵌入向量。限制为 1。  | 
              
EmbeddingVector
嵌入向量。
| JSON 表示法 | 
|---|
{ "fieldPath": string, "vector": [ number ] }  | 
              
| 字段 | |
|---|---|
fieldPath | 
                
                   
 架构中的嵌入字段路径。  | 
              
vector[] | 
                
                   
 查询嵌入向量。  | 
              
RankingExpressionBackend
用于排名表达式评估的后端。
| 枚举 | |
|---|---|
RANKING_EXPRESSION_BACKEND_UNSPECIFIED | 
                未指定/未知值的默认选项。 | 
BYOE | 
                已弃用:请改用   | 
              
CLEARBOX | 
                已弃用:请改用   | 
              
RANK_BY_EMBEDDING | 
                按自定义嵌入模型进行排名,这是评估排名表达式的默认方式。 | 
RANK_BY_FORMULA | 
                按自定义公式排名。 | 
NaturalLanguageQueryUnderstandingSpec
用于为搜索请求启用自然语言理解功能的规范。
| JSON 表示法 | 
|---|
{ "filterExtractionCondition": enum (  | 
              
| 字段 | |
|---|---|
filterExtractionCondition | 
                
                   
 应提取过滤条件的条件。服务器行为默认为   | 
              
geoSearchQueryDetectionFieldNames[] | 
                
                   
 用于基于位置的过滤的字段名称,其中在自然语言搜索查询中检测到地理定位过滤条件。仅在 FilterExtractionCondition 设置为  如果设置了此字段,它会替换   | 
              
extractedFilterBehavior | 
                
                   
 可选。控制提取的过滤条件如何应用于搜索。默认行为取决于请求。对于单个数据存储区结构化搜索,默认值为   | 
              
allowedFieldNames[] | 
                
                   
 可选。可用于自然语言过滤条件提取的字段的许可名单。默认情况下,如果未指定此参数,则所有可编入索引的字段都符合自然语言过滤条件提取条件(但不保证会被使用)。如果在 allowedFieldNames 中指定了任何字段,则只有在架构中标记为可编入索引且在许可名单中指定的字段才符合自然语言过滤条件提取的条件。注意:多数据存储区搜索尚不支持此参数,系统会忽略此参数。  | 
              
FilterExtractionCondition
一种枚举,用于描述在何种条件下应进行过滤条件提取。
| 枚举 | |
|---|---|
CONDITION_UNSPECIFIED | 
                服务器行为默认为 DISABLED。 | 
              
DISABLED | 
                停用 NL 过滤条件提取。 | 
ENABLED | 
                启用 NL 过滤提取。 | 
ExtractedFilterBehavior
一种枚举,用于描述如何将提取的过滤条件应用于搜索。
| 枚举 | |
|---|---|
EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED | 
                EXTRACTED_FILTER_BEHAVIOR_UNSPECIFIED 将使用提取的过滤条件的默认行为。对于单个数据存储区搜索,默认应用为硬过滤条件。对于多数据存储区搜索,默认应用为软提升。 | 
              
HARD_FILTER | 
                将所有提取的过滤条件作为硬过滤条件应用于结果。未通过提取的过滤条件的结果将不会返回到结果集中。 | 
SOFT_BOOST | 
                将所有提取的过滤条件作为软加权应用。通过过滤条件的结果在结果集中的排名会提升。 | 
SearchAsYouTypeSpec
在搜索请求中输入内容时进行搜索的规范。
| JSON 表示法 | 
|---|
{
  "condition": enum ( | 
              
| 字段 | |
|---|---|
condition | 
                
                   
 即输即搜功能应在什么条件下运行。默认为   | 
              
条件
枚举,用于描述在何种条件下应进行“边输入边搜索”。
| 枚举 | |
|---|---|
CONDITION_UNSPECIFIED | 
                服务器行为默认为 Condition.DISABLED。 | 
              
DISABLED | 
                停用即输即搜功能。 | 
ENABLED | 
                启用即输即搜功能。 | 
AUTO | 
                在边输入边搜索模式和标准搜索模式之间自动切换,非常适合单 API 实现(例如,去抖动)。 | 
DisplaySpec
指定要显示的特征,例如匹配项突出显示。
| JSON 表示法 | 
|---|
{
  "matchHighlightingCondition": enum ( | 
              
| 字段 | |
|---|---|
matchHighlightingCondition | 
                
                   
 应进行匹配突出显示的条件。  | 
              
MatchHighlightingCondition
枚举,用于描述在何种条件下应突出显示匹配项。
| 枚举 | |
|---|---|
MATCH_HIGHLIGHTING_CONDITION_UNSPECIFIED | 
                服务器行为与 MATCH_HIGHLIGHTING_DISABLED 相同。 | 
              
MATCH_HIGHLIGHTING_DISABLED | 
                停用所有文档中的匹配项突出显示功能。 | 
MATCH_HIGHLIGHTING_ENABLED | 
                在所有文档中启用匹配项突出显示功能。 | 
SessionSpec
会话规范。
多轮搜索功能目前处于非公开正式版阶段。在正式向公众发布此功能之前,请使用 v1alpha 或 v1beta 版本。或者,通过 Google 支持团队申请加入许可名单。
| JSON 表示法 | 
|---|
{ "queryId": string, "searchResultPersistenceCount": integer }  | 
              
| 字段 | |
|---|---|
queryId | 
                
                   
 如果设置,搜索结果会存储到此查询 ID 指定的“轮次”。 示例:假设会话如下所示:session { name: ".../sessions/xxx" turns { query { text: "What is foo?" queryId: ".../questions/yyy" } answer: "Foo is ..." } turns { query { text: "How about bar then?" queryId: ".../questions/zzz" } } } 用户可以调用 /search API,并发送如下请求: session: ".../sessions/xxx" sessionSpec { queryId: ".../questions/zzz" } 然后,API 会存储与最后一轮对话关联的搜索结果。存储的搜索结果可供后续 /answer API 调用使用(指定会话 ID 和查询 ID)。此外,还可以使用相同的会话 ID 和查询 ID 并行调用 /search 和 /answer。  | 
              
searchResultPersistenceCount | 
                
                   
 要保留的热门搜索结果数量。持久性搜索结果可用于后续的 /answer API 调用。 此字段类似于  文档模式下最多 10 个结果,块模式下最多 50 个结果。  | 
              
RelevanceThreshold
搜索结果的相关性阈值。相关性阈值越高,显示的相关结果就越多,返回的结果数量就越少。
| 枚举 | |
|---|---|
RELEVANCE_THRESHOLD_UNSPECIFIED | 
                默认值。在这种情况下,服务器行为默认为 Google 定义的阈值。 | 
LOWEST | 
                最低相关性阈值。 | 
LOW | 
                相关性阈值较低。 | 
MEDIUM | 
                中等相关性阈值。 | 
HIGH | 
                相关性阈值较高。 | 
RelevanceScoreSpec
用于返回文档相关性得分的规范。
| JSON 表示法 | 
|---|
{ "returnRelevanceScore": boolean }  | 
              
| 字段 | |
|---|---|
returnRelevanceScore | 
                
                   
 可选。是否返回搜索结果的相关性得分。得分越高,文档与查询的相关性就越强。  | 
              
SearchAddonSpec
SearchAddonSpec 用于根据新的重新定价模型停用搜索的插件。默认情况下,如果未指定 SearchAddonSpec,我们会认为客户希望在适用的情况下启用这些插件。
| JSON 表示法 | 
|---|
{ "disableSemanticAddOn": boolean, "disableKpiPersonalizationAddOn": boolean, "disableGenerativeAnswerAddOn": boolean }  | 
              
| 字段 | |
|---|---|
disableSemanticAddOn | 
                
                   
 可选。如果为 true,则停用语义插件。语义插件包括嵌入和 JetStream。  | 
              
disableKpiPersonalizationAddOn | 
                
                   
 可选。如果为 true,则会停用事件重新排名和个性化,以优化 KPI 并对结果进行个性化设置。  | 
              
disableGenerativeAnswerAddOn | 
                
                   
 可选。如果为 true,则表示已停用生成式回答插件。生成式回答插件包含自然语言到过滤条件和简单回答。  | 
              
QuerySetSpec
描述查询集的规范。
| JSON 表示法 | 
|---|
{ "sampleQuerySet": string }  | 
              
| 字段 | |
|---|---|
sampleQuerySet | 
                
                   
 可选。用于评估的   | 
              
QualityMetrics
描述评估产生的指标。
| JSON 表示法 | 
|---|
{ "docRecall": { object (  | 
              
| 字段 | |
|---|---|
docRecall | 
                
                   
 在各种前 k 名截断水平下,每个文档的召回率。 召回率是指检索到的相关文档占所有相关文档的比例。 示例(前 5 个):* 对于单个   | 
              
docPrecision | 
                
                   
 每个文档的精确度,在各种 top-k 截止水平下。 精确率是指检索到的相关文档所占的比例。 示例(前 5 个):* 对于单个   | 
              
docNdcg | 
                
                   
 每个文档在各种前 k 名截止水平下的归一化折扣累计增益 (NDCG)。 NDCG 用于衡量排名质量,并为排名靠前的结果赋予更高的相关性。 示例(前 3 个):假设  检索结果:[D3 (0), D1 (1), D2 (1)] 理想结果:[D1 (1), D2 (1), D3 (0)] 计算每个   | 
              
pageRecall | 
                
                   
 各个网页在不同 top-k 截断水平下的召回率。 召回率是指检索到的相关网页占所有相关网页的比例。 示例(前 5 名):* 对于单个   | 
              
pageNdcg | 
                
                   
 每个网页的归一化折扣累计增益 (NDCG),采用各种 top-k 截止水平。 NDCG 用于衡量排名质量,并为排名靠前的结果赋予更高的相关性。 示例(前 3 名):假设  检索结果:[P3 (0)、P1 (1)、P2 (1)] 理想结果:[P1 (1)、P2 (1)、P3 (0)] 计算   | 
              
TopkMetrics
存储特定前 k 名级别的指标值。
| JSON 表示法 | 
|---|
{ "top1": number, "top3": number, "top5": number, "top10": number }  | 
              
| 字段 | |
|---|---|
top1 | 
                
                   
 前 1 名的值。  | 
              
top3 | 
                
                   
 前 3 名值。  | 
              
top5 | 
                
                   
 前 5 名的值。  | 
              
top10 | 
                
                   
 前 10 个值。  | 
              
州
描述评估的状态。
| 枚举 | |
|---|---|
STATE_UNSPECIFIED | 
                未指定评估。 | 
PENDING | 
                服务正在准备运行评估。 | 
RUNNING | 
                评估正在进行中。 | 
SUCCEEDED | 
                评估已成功完成。 | 
FAILED | 
                评估失败。 | 
方法 | 
            |
|---|---|
                
 | 
              
                创建 Evaluation。 | 
            
                
 | 
              获取 Evaluation。 | 
            
                
 | 
              
                获取 Evaluation 的列表。 | 
            
                
 | 
              
                获取指定 Evaluation 的结果列表。 |