本页面介绍了 Agent Search 应用和数据存储区。
借助 Agent Search,您可以创建搜索或推荐应用,并将其连接到数据存储区。 一个 Google Cloud 项目可以包含多个应用。
应用与数据存储区之间的关系
应用与数据存储区之间的关系取决于应用的类型:
自定义搜索应用与数据存储区之间存在多对多的关系。当多个数据存储区连接到单个自定义搜索应用时,这称为混合搜索 。如需了解将搜索应用连接到多个 数据存储区的限制,请参阅混合搜索简介。
自定义推荐应用与其数据存储区之间存在一对一的连接。
媒体应用与其数据存储区之间存在多对一的关系。应用只能连接到一个数据存储区,而给定的数据存储区可以连接到多个应用。例如,一个媒体搜索应用和一个媒体推荐应用可以共享一个数据存储区。
医疗保健搜索应用与其数据存储区之间存在多对一的关系。应用只能连接到一个数据存储区,而给定的数据存储区可以连接到多个应用。例如,面向患者的应用和面向医疗服务提供方的应用可以连接到同一个数据存储区。
对于医疗保健数据的批量数据导入,数据会导入到应用内的数据 存储区。对于医疗保健数据的流式数据导入(预览版),数据会导入到 实体中,这是一种位于数据连接器内的数据 存储区。数据连接器也是一种位于应用内的数据存储区。
数据存储区连接到应用后,无法断开连接。
应用创建和数据注入方法
创建应用和注入数据的方式取决于您拥有的数据类型:
对于网站数据,您可以使用 Google Cloud 控制台或 API。 如需使用通过 API 创建的网站数据,您必须在 控制台中将其关联到启用了企业版功能的应用。 Google Cloud
对于结构化或非结构化数据,您可以使用 Google Cloud 控制台或 API。
对于医疗保健数据,您可以使用 Google Cloud 控制台或 API。
文档
每个数据存储区都包含一个或多个称为“文档”的数据记录。文档内容取决于数据存储区中的数据类型:
网站 。文档是网页。
结构化数据 。文档是表格中的行或者具有特定架构的 JSON 记录。您可以自行提供此架构,也可以让 Agent Search 从提取的数据中派生架构。
媒体的结构化数据 。文档是表格中的行或者具有特定于媒体的架构的 JSON 记录。文档是与媒体内容(例如视频、新闻报道、音乐文件和播客)相关的记录。文档包含描述媒体内容的信息,至少包括:标题、内容位置 URI、类别、时长和可用日期。
非结构化数据 。文档是以下任一格式的文件:TXT、PDF、HTML、DOCX、PPTX、XLSX 和 XLSM。
医疗保健 FHIR 数据 。文档是受支持的 FHIR R4 资源。如需查看 Agent Search 支持的 FHIR R4 资源列表,请参阅 医疗保健 FHIR R4 数据架构参考。
数据存储区和应用
在 Agent Search 中,数据存储区有多种类型。 一个数据存储区只能包含一种类型的数据。
网站数据
包含网站数据的数据存储区使用从公开网站编入索引的数据。您可以提供一组要包含在数据存储区中的网址格式。符合网址格式的网页称为包含的网页 。 然后,您可以针对从包含的网页抓取的数据设置搜索。
例如,您可以提供 example.com/faq/* 和 example.com/events/* 等网址格式,并针对从符合这些格式的网页抓取的数据启用搜索。此类数据包括文本、带有元数据的图片以及其他结构化数据,例如 meta 标记、PageMap 属性和 schema.org 数据。
您还可以为要排除的网站部分提供网址格式,例如 example.com/events/members-only/* 或 example.com/events/past-*。排除的网址的优先级高于包含的网址。
网站数据存储区有两种类型:
基本网站搜索:
- 针对包含的网站提供现有 Google 搜索索引的搜索功能。
- 不需要域名验证。
高级网站索引编制:
- 针对基于以下任一内容生成的索引提供高级搜索功能:
- Agent Search 应用所有者可以通过提交站点地图并维护站点地图来控制哪些网页编入索引。如需了解详情,请参阅 使用站点地图为网页编制索引和刷新网页。此过程无需手动干预即可保持索引处于最新状态。
- Agent Search 应用所有者可以执行初始索引编制,以反映 Google 搜索索引,然后根据需要重新抓取网站,从而扩大索引的覆盖范围,并保持索引处于最新状态。如需了解详情,请参阅刷新网页。高级网站索引编制的高级功能列在 高级网站索引编制中。
- 需要 Agent Search 数据存储区所有者验证包含的网站所属的网域。如需了解详情,请参阅 验证网站网域。
- 提供向数据存储区架构添加结构化数据的功能。
网站包含非结构化数据,但您可以向网页添加
meta标记、PageMap 属性和 schema.org 数据形式的结构化数据。然后,您可以使用此结构化数据来修改数据存储区 架构,如 使用结构化数据进行高级网站索引编制中所述。
- 针对基于以下任一内容生成的索引提供高级搜索功能:
后续步骤
对于网站搜索:
- 如需了解索引编制前提条件,请参阅如何准备网站搜索数据。
- 使用网站内容创建数据存储区。
- 创建搜索应用。
结构化数据
包含结构化数据的数据存储区可针对结构化数据启用语义搜索或推荐功能。您可以从 BigQuery 或 Cloud Storage 导入数据。您还可以通过 API 手动上传结构化 JSON 数据。
例如,您可以针对商品目录启用搜索或推荐功能以优化电子商务体验,也可以针对医生名录启用此功能以方便用户查找或推荐医疗服务提供方。
Agent Search 会自动检测您导入的数据的架构。您可以选择为数据提供架构。为数据提供架构通常可以提高结果质量。
后续步骤
对于自定义搜索:
- 准备结构化数据以进行提取。
- 使用以下方法之一创建搜索数据存储区:
- 创建搜索应用。
对于自定义推荐:
媒体的结构化数据
媒体应用只能连接到媒体数据存储区。媒体数据存储区是结构化数据存储区,具有 Google 定义的架构或您自己的自定义架构,其中包含一组特定的五个媒体相关字段。如需详细了解架构,请参阅媒体文档和数据 存储区简介。
例如,您可以为电影目录或新闻网站创建媒体推荐应用,从而启用推荐功能,以便为用户提供合适的个性化建议。
除了媒体文档之外,媒体数据存储区还包含用户事件信息,以便 Agent Search 为用户自定义推荐和搜索。媒体应用需要用户事件。如需了解用户事件,请参阅记录实时用户 事件。
后续步骤
非结构化数据
非结构化数据存储区可针对文档和图片等数据启用语义搜索。
非结构化数据存储区支持 TXT、PDF、HTML、DOCX、PPTX、XLSX 和 XLSM 格式的文档。
搜索会以 10 个网址的形式提供结果,并针对自然语言查询提供摘要式回答。文档必须上传到具有适当访问权限的 Cloud Storage 存储桶。例如,金融机构可以针对其金融研究出版物的私有语料库启用搜索功能,而生物技术公司可以针对其医学研究的私有知识库启用搜索或推荐功能。
后续步骤
对于搜索:
- 准备非结构化数据以进行提取。
- 使用以下方法之一创建搜索数据存储区:
- 为非结构化数据创建搜索数据存储区。
- 创建搜索应用。
医疗保健 FHIR 数据
医疗保健搜索应用使用从 Cloud Healthcare API FHIR 存储区导入的 FHIR R4 数据。如需查看 Agent Search 支持的 FHIR R4 资源列表,请参阅医疗保健 FHIR R4 数据架构参考。 FHIR R4 数据存储区必须满足一些要求,才能用作 Agent Search 数据存储区的数据源。如需了解详情,请参阅 如何准备医疗保健 FHIR 数据以进行提取。
后续步骤
混合搜索简介
您可以创建混合搜索应用,将多个数据存储区连接到单个自定义搜索应用。借助此功能,您可以使用一个应用搜索多个来源和多种类型的数据。
如需创建混合搜索应用,请在创建新自定义搜索应用时选择多个数据存储区。如果您在创建过程中未选择多个数据存储区,则之后无法添加其他数据存储区。
获取搜索结果时,您可以搜索所有数据存储区,也可以过滤结果以仅显示来自单个数据存储区的结果。
存在以下限制:
- 添加和移除数据存储区:
- 如需为应用启用混合搜索,您必须在创建应用期间至少为其连接两个数据存储区。
- 您可以向混合搜索应用添加数据存储区或从中移除数据存储区,但该应用在任何时候都不能连接少于两个数据存储区。
- 如果您在创建搜索应用期间将单个数据存储区连接到该应用,则无法添加或移除该数据存储区。
- 网站数据存储区需要启用高级网站索引编制功能,才能用于混合搜索。如需了解详情,请参阅 高级网站索引编制。
- 不支持包含使用 BigQuery 导入的非结构化数据的数据存储区。
- 不支持图片搜索(使用
params字段和searchType: 1)。 - 混合搜索允许在
搜索请求中使用以下字段:
boostSpeccontentSearchSpecdataStoreSpecsfacetSpecsfilterlanguageCodeoffsetoneBoxPageSizeorderByquerypageSizepageTokenrelevanceScoreSpecrelevanceThresholdsessionsessionSpecspellCorrectionSpecuserInfouserPseudoId
- 混合搜索允许以下字段在
DataStoreSpec:dataStoreboostSpec:如果同时为SearchRequest和dataStoreSpecs指定了提升规范,则这两个提升规范都会应用于搜索结果filter:如果同时为SearchRequest和dataStoreSpecs指定了过滤条件,则这两个过滤条件都会应用于搜索结果
- 对于混合应用,支持对投放配置执行创建、读取、更新和删除 (CRUD) 操作。在服务配置中,只能添加或更新以下字段:
boostControlIdsdisplayNamefilterControlIdsgenericConfig:contentSearchSpec
namesolutionTypesynonymsControlIds
- 对于混合搜索应用,支持对以下控件执行 CRUD 操作:
boostActionsynonymActionfilterAction
- 每个搜索应用的数据存储区数量上限为 50 个。
- 如果一个数据存储区使用 CMEK 配置,则所有其他数据存储区也必须使用相同的 CMEK 配置。