应用和数据存储区简介

本页面介绍了 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 数据架构参考文档。

对数据存储区执行 CRUD 操作

对于结构化和非结构化数据存储区,Agent Search 支持对文档数据执行创建、读取、更新和删除 (CRUD) 操作。您无需删除或重新创建整个数据存储区即可更新内容;您可以在整个生命周期内管理各个记录。

您可以使用 API 管理数据存储区中的单个文档或记录:

  • 创建:使用 documents.create 方法将单个文档添加到数据存储区。
  • 读取(获取和列出):使用 documents.get 方法按 ID 检索特定文档,或使用 documents.list 方法列出分支中的文档。
  • 更新:使用 documents.patch 方法修改现有文档字段、内容或元数据。您还可以通过将 allowMissing 字段设置为 true 来执行 upsert(如果未找到,则插入)。
  • 选择性删除:使用 documents.delete 方法选择性删除单个记录,而不是删除整个数据存储区。

数据存储区和应用

在 Agent Search 中,数据存储区有多种类型。 一个数据存储区只能包含一种类型的数据。

网站数据

包含网站数据的数据存储区会使用从公开网站中编入索引的数据。您可以提供一组要包含在数据存储区中的网址格式。符合网址格式的网页称为包含的网页。然后,您可以设置对从所含网页中抓取的数据进行搜索。

例如,您可以提供 example.com/faq/* 和 example.com/events/* 等网址格式,并允许搜索从符合该格式的网页中抓取的数据。这些数据包括文本、带有元数据标记的图片以及其他结构化数据,例如 meta 标记、页映射属性和 schema.org 数据。

您还可以为要排除的网站部分提供网址格式,例如 example.com/events/members-only/* 或 example.com/events/past-*。排除的网址优先于包含的网址。

网站数据存储区分为两种类型:

  • 基本网站搜索:

    • 针对所含网站,提供基于现有 Google 搜索索引的搜索功能。
    • 不需要域名验证。
  • 高级网站索引编制:

    • 针对基于以下任一项生成的索引提供高级搜索功能:
      • Agent Search 应用所有者可以通过提交和维护站点地图来控制哪些网页会被编入索引。如需了解详情,请参阅使用站点地图将网页编入索引并刷新网页。此过程无需人工干预即可保持索引最新。
      • Agent Search 应用所有者可以执行初始索引编制,以镜像 Google 搜索索引,然后根据需要重新抓取网站,从而扩大索引的覆盖范围,使其保持最新状态。如需了解详情,请参阅刷新网页。 高级网站索引编制中列出了高级网站索引编制的高级功能。
    • 需要 Agent Search 数据存储区所有者验证所含网站所属的网域。如需了解详情,请参阅验证网站网域。
    • 提供向数据存储区架构添加结构化数据的功能。 网站包含非结构化数据,但您可以向网页添加 meta 标记、页映射属性和 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 搭配使用)。
  • 混合搜索允许在搜索请求中使用以下字段:
    • boostSpec
    • contentSearchSpec
    • dataStoreSpecs
    • facetSpecs
    • filter
    • languageCode
    • offset
    • oneBoxPageSize
    • orderBy
    • query
    • pageSize
    • pageToken
    • relevanceScoreSpec
    • relevanceThreshold
    • session
    • sessionSpec
    • spellCorrectionSpec
    • userInfo
    • userPseudoId
  • 混合搜索允许在 DataStoreSpec 中使用以下字段:
    • dataStore
    • boostSpec:如果同时为 SearchRequest 和 dataStoreSpecs 指定了提升规范,则这两个提升规范都会应用于搜索结果
    • filter:如果同时为 SearchRequest 和 dataStoreSpecs 指定了过滤条件,则这两个过滤条件都会应用于搜索结果
  • 对于混合应用,支持对投放配置执行创建、读取、更新和删除 (CRUD) 操作。在服务配置中,只能添加或更新以下字段:
    • boostControlIds
    • displayName
    • filterControlIds
    • genericConfig:
      • contentSearchSpec
    • name
    • solutionType
    • synonymsControlIds
  • 对于混合搜索应用,支持对以下控件执行 CRUD 操作:
    • boostAction
    • synonymAction
    • filterAction
  • 每个搜索应用的数据存储区数量上限为 50 个。
  • 如果一个数据存储区使用 CMEK 配置,则所有其他数据存储区也必须使用相同的 CMEK 配置。