本页面介绍了如何配置架构字段,以便为结构化数据、包含元数据的非结构化数据或包含自定义结构化属性的网站数据设置应用。
字段设置有助于确定 Agent Search 如何在其结果中使用字段。您可以使用架构 标签页在 Google Cloud 控制台中配置字段设置。
只有包含结构化数据或包含带元数据的非结构化数据的数据存储区的应用才能配置字段设置。
字段设置
以下字段设置适用于搜索或推荐数据中的许多字段类型,但不适用于所有数据类型。架构包含各个字段的多个字段设置,下表包含可应用于架构内字段的设置。强烈建议对这些字段设置使用结构化数据:
| 设置 | 定义 | 用途 | 应用场景示例 |
|---|---|---|---|
| 可编入索引 | 将字段设置为可编入索引后 ,您可以在文档中的结构化 字段上执行过滤、提升和分面等操作。 类型为 |
将字段标记为 请注意,将字段标记为 |
在酒店数据存储区中,您可以将
hotel_chain 等字段设置为可编入索引。这样,您就可以对 hotel_chain 应用排名、
过滤和提升操作。例如,
您可以应用过滤条件,以便搜索仅返回包含过滤后的酒店连锁店的搜索结果。 |
| 可搜索 |
最有可能与搜索相关的字段会被指定为 只有包含文本值的字段 才能标记为可搜索。因此,数字价格字段可以 编入索引(用于过滤或分面),但不能作为全文进行搜索 。 |
将字段设置为可搜索 可提高 该字段在搜索查询中的召回率,让用户可以通过查询网页等这些字段中的文本来查找 内容。将字段标记为 可搜索后,系统可以应用排名。因此,将过多的字段标记为可搜索可能会过度饱和排名算法并返回过多结果,从而对搜索精确度产生负面影响。这 可能会导致返回不相关的搜索结果。 您可以对可搜索字段应用相对权重;不过, 由于默认值非常可靠,因此很少需要这样做。请参阅下文的为可搜索字段设置权重。 |
互联网服务提供商的支持服务工单系统会将每个工单存储为结构化
文档。如果这些文档包含可搜索的文本字段(例如
|
| 动态分面 | 提供情境感知型
过滤条件,以便更好地针对用户搜索。将字段设置为
Dynamic Facetable 后,系统可以根据字段中存在的唯一值自动
生成互动式过滤条件(分面)。 |
将字段设置为 Dynamic
facetable 后,用户可以直接从您提取的数据中选择类别或属性,从而动态优化搜索结果,而无需手动预先定义每个可能的过滤条件选项。这样,用户就可以将搜索范围缩小到高度特定的
网页内容。将动态分面 与可搜索 结合使用可 获得更好的结果,从而提高搜索的召回率和 为用户提供的分面的质量。 |
内部公司知识库(例如人力资源政策)中的网页会提取 department、document_type 或 last_modified_date 等数据。如果
这些字段标记为dynamic facetable,员工搜索费用报销等字词时,系统会根据找到的相关结果
动态生成互动式过滤条件。在这种情况下,网页界面可能会显示
部门:财务、差旅、文档类型:政策、
常见问题解答或上次修改日期:本季度、去
年等分面。 |
| 可检索 | 当搜索查询命中匹配的 内容时,搜索引擎可以提取可检索字段的 值以进行显示或在应用中使用,这意味着原始文档中的 信息会显示为搜索结果的一部分。关键字段 (文档的唯一标识符)设置为可检索。 | 可检索字段通过区分可以显示值的字段和仅在搜索逻辑中使用但原始值不应向最终用户显示的字段来提供搜索上下文 。 | 对于商家网站上的商品搜索,
product_id、name、price 和
image_url 是您通常希望设置为
可检索的字段。另一方面,internal_tracking_code 只能出于管理目的编入索引和过滤,而不能在公开搜索结果中检索。 |
| 可补全 | 允许将字段的内容用于搜索查询建议。如需了解详情,请参阅配置自动补全。 | 此设置允许在用户输入时使用该字段中的值 来提供实时查询建议。此 功能有助于引导用户找到相关内容并加快 搜索过程。某些因素(例如使用自然语言过滤) 可能会影响此性能。 | 如果为product_name、brand 和 category 设置了completable字段,当用户输入Tech时,自动补全建议可以显示:
|
| 可过滤 | 允许推荐功能使用字段来过滤 推荐结果,从而确定用户看到的搜索结果。如需了解如何过滤推荐结果,请参阅过滤推荐结果。 | 将字段设置为 Filterable 有助于为用户自定义推荐结果。请注意,过滤条件存在限制。 |
按语言和剧集过滤的过滤条件设置可能如下所示:language_code: ANY("en", "fr") OR categories: ANY("drama")。 |
常用设置之间的区别
可编入索引、可搜索和可检索字段设置之间存在关键区别。下表总结了这些区别。
| 功能 | 可编入索引 | 可搜索 | 可检索 |
|---|---|---|---|
| 主要作用 | 使字段内容可供搜索引擎使用 | 允许针对字段内容进行全文查询 | 允许在搜索结果中返回字段的值 |
| 分析 | 内容经过处理并放入索引中。 | 通常会进行广泛的词法分析。 | 值按原样存储以供显示。 |
| 是否可以... | |||
| ...可搜索? | 可以(通常是先决条件) | 不适用 | 不一定(可以可检索但不可搜索) |
| ...可检索? | 不一定 | 不一定 | 不适用 |
| ...可过滤/可排序/可分面? | 可以(通常也是这些功能的先决条件) | 不能直接实现;这些是通常基于可编入索引字段构建的单独属性。 | 不能直接实现;这些属性与字段的索引和 查询方式有关,而不仅仅是显示方式。 |
在实践中,许多对用户体验至关重要的字段(例如标题、说明和身份信息)通常设置为 indexable、searchable 和 retrievable。
限制
字段设置具有以下限制:
- 您最多可以将 50 个字段配置为可编入索引、可搜索、可检索或动态分面。
- 如需将字段配置为动态分面,必须先将其配置为可编入索引。
- 更改可编入索引设置需要将数据重新编入索引,这可能需要数小时,尤其对于大型数据存储区而言。
如果您要为媒体搜索应用配置字段,并且想要详细了解架构中的字段,请参阅关于媒体文档和数据 存储区。
更新字段设置
如需更新字段设置,请执行以下操作:
在 Google Cloud 控制台中,前往 AI Applications 页面。
点击要修改的应用的名称。
点击数据。
点击架构标签页。此标签页显示当前的字段设置。
如果您的数据存储区包含基本网站 数据或不包含元数据的非结构化数据,您将看不到架构标签页。
点击修改 。
选择或取消选择需要更新的字段设置。某些字段设置不受支持。例如,数值字段不能设置为可搜索 。
点击保存 以应用更改。
为可搜索字段设置权重(预览版)
如果您将字段标记为可搜索,则可以指定权重来指明其在搜索结果中的相对重要性。在大多数情况下,您无需为各个字段指定权重,因为默认权重效果良好。
不过,在少数情况下,可能需要调整权重,例如:
您要从已使用加权字段的现有搜索平台迁移数据。
默认权重无法提供令人满意的搜索结果。 具体来说,当您有许多可搜索字段,并且某些字段明显比其他字段更重要时,可能会发生这种情况。
也许,摘要是搜索最重要的字段,因此您希望优先显示该文本。
或者,架构中有一个字段包含与搜索结果高度相关的关键字,这些关键字是搜索结果的绝佳预测因子,但由于此字段比其他字段短得多,因此其影响通常会被较长的字段所掩盖。 增加其权重可确保其发挥预期的影响。
权重级别
权重分为以下几个级别:
| 字段重要性 | 说明 |
|---|---|
| 非常低 | 一个较低的值,系统在合并所有字段的分数时仍会考虑该值。如果您希望权重更低,以使效果可以忽略不计, 不要将该字段标记为可搜索。 |
| 低 | 低于默认值的权重。 |
| 默认 | 可搜索字段的标准权重。在大多数情况下,此权重可提供 相当不错的性能。 |
| 高 | 明显高于默认值的权重。 |
| 非常高 | 一个占主导地位的权重。通常,您最多只会为一个 字段保留此权重。 |
架构更新和重新编制索引
为可搜索字段添加权重需要更新架构,然后重新编制数据存储区中的数据索引。更新架构需要数小时,并且没有可靠的指标来告知您索引编制何时完成,因此您需要高估索引编制时间。
为字段设置权重级别
为字段设置权重级别可能是一项繁琐的任务,因为您应该只进行少量更改,并在之后仔细查看搜索结果,以检查是否存在意外后果。每次更改后,您都必须等待重新编制索引完成,然后才能评估更改的影响。
您只能通过 API 配置搜索字段权重。此功能在 控制台中不可用。 Google Cloud
如需设置权重,您需要通过 API
projects.locations.dataStores.schemas.patch
方法更新数据存储区的架构。
如果您还没有架构 ,请按照查看架构 定义中的说明获取架构。
按照说明以编程方式 更新架构。 为一个或多个可搜索字段添加权重,如以下示例所示:
"summary": { "type": "string", "searchable": true, "weight": "high" }, "uri": { "type": "string", "searchable": true, "weight": "low" },在此示例中,
summary字段的权重高于正常权重,而uri字段的权重较低。如果您想将权重恢复为默认值,请将其设置为default。权重参数的允许值包括:
very_lowlowdefaulthighvery_high
等待重新编制索引完成,然后测试搜索行为。