你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置语义排序器并在搜索结果中返回描述文字

语义排序循环访问初始结果集,应用 L2 排序方法,该方法将语义上最相关的结果提升到堆栈顶部。 还可以获取语义标题,其中突出显示了最相关的术语和短语,以及语义答案

本文介绍如何配置搜索索引进行语义重新调整。

先决条件

  • 基本层或更高层级上的搜索服务,具体取决于区域可用性

  • 已为你的搜索服务启用语义排序器。

  • 包含富文本内容的现有搜索索引。 语义排名适用于字符串(非函数)字段,最适合信息性或描述性内容。

选择客户端

可以使用以下任何工具和软件开发工具包 (SDK) 添加语义配置:

添加语义配置

语义配置是索引中的一个部分,用于为语义排名建立字段输入。 可以随时添加或更新语义配置,而无需重新生成。 如果创建多个配置,可以指定一个默认值。 查询时,在查询请求上指定语义配置,或将其留空以使用默认值。

语义配置具有一个名称和以下属性:

properties 特征
“标题”字段 一个短字符串,理想情况下少于 25 个单词。 此字段可以是文档的标题、产品名称或唯一标识符。 如果你没有合适的字段,请将其留空。
内容字段 自然语言形式的较长文本块,受机器学习模型的最大标记输入限制的约束。 常见的示例包括文档正文、产品说明或其他自由格式文本。
关键字字段 关键字(例如文档上的标记)的列表,或者项的类别等描述性词语。

只能指定一个标题字段,但可以拥有所需任意数量的内容和关键字字段。 对于内容和关键字字段,请按优先级顺序列出字段,因为优先级较低的字段可能会被截断。

在所有语义配置属性中,你分配的字段必须:

  • 特性化为 searchableretrievable
  • Edm.StringCollection(Edm.String) 类型的字符串。Edm.ComplexType 的字符串子字段
  1. 登录 Azure 门户并导航到已启用语义排名的搜索服务。

  2. 在左侧导航窗格中的“索引”,选择一个索引。

  3. 选择“语义配置”,然后选择“添加语义配置”。

    显示用于在 Azure 门户中添加语义配置的选项的屏幕截图。

  4. 在“新建语义配置”页上,输入语义配置名称并选择在语义配置中使用的字段。 只有可搜索和可检索的字符串字段才符合条件。 请确保按优先级顺序列出内容字段和关键字字段。

    屏幕截图显示如何在 Azure 门户中创建语义配置。

  5. 选择“保存”,保存配置设置。

  6. 在索引页上再次选择保存,以在索引中保存语义配置。

从预览版迁移

如果你的语义排名代码使用的是预览版 API,请参阅本部分,其中介绍了如何迁移到稳定版本。 可以检查更改日志以验证正式版:

语义排序器的 queryLanguage

从 2023 年 7 月 14 日起,语义排序器与语种无关。 它可以对由多语言内容组成的结果进行重新排名,而不偏向特定语言。 在预览版本中,语义排名会降低与字段分析器指定的语言不同的结果的优先级。

如果将其用于语义排名,请停止在代码中使用 queryLanguagequeryLanguage 属性仍适用于拼写更正等功能,但不适用于语义排名。

用于语义排名符的 searchFields

对于 REST API 和面向版本及更高版本 2021-04-30-Preview 的所有 SDK 包,该 searchFields 属性不再用于语义排名。

请改用 semanticConfiguration 属性(在搜索索引中)来确定在语义排名中使用哪些搜索字段。 若要指定字段优先级,请按照本文中的说明,在索引架构中添加 semanticConfiguration

如果使用查询请求将全文搜索限制为命名字段列表,可以保留 searchFields

后续步骤

通过运行语义查询来测试语义配置。