如何在 SharePoint Server 中为经典搜索创建新的结果类型
适用于:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
在本文中,您将了解:
关于本系列中的搜索中心示例
为了帮助说明如何自定义显示结果的外观,我们将使用内容发布者每天使用的工具中的示例:Microsoft出版物的内部列表。
如你所知,Microsoft跨 TechNet、MSDN 和 Office.com 发布数千篇文章。 为了在发布过程中起到帮助的作用,我们使用多个 SharePoint 列表。 列表中的每一项都代表了一篇文章或媒体文件。 为了更容易地找到有关特定列表项的信息,我们创建了一个可以跨这些列表进行搜索的搜索中心。
在搜索中心的第一个版本中,所有搜索结果都以相同的方式显示。 这是因为默认情况下,所有列表项都属于同一 SharePoint 列表项结果类型。 我们希望对此进行更改,以便只需查看搜索结果,就可以区分 TechNet 上发布的文章和 MSDN 上发布的文章。 我们还希望添加有关每个搜索结果的重要信息,无需选择和打开即可看到它。
在 SharePoint Server 中执行任何操作之前,我们坐下来参加规划会议。 第一个任务是确定我们想要如何对搜索结果进行分类。 我们提出了以下类别:
类别 | 定义 |
---|---|
TechNet 内容 |
在 TechNet 平台上发布的文章 |
MSDN 内容 |
在 MSDN 平台上发布的文章 |
Office.com 内容 |
在 Office.com 平台上发布的文章 |
图像内容 |
出版物中使用的图像 |
视频内容 |
出版物中使用的视频 |
下载内容 |
可下载内容 |
定义类别后,需要区分类别。 列表中的项包含名为 “分发通道 ”的网站栏。 此网站栏包含发布文章的平台的值,例如 TechNet Library 。
我们决定使用 “分发渠道 ”网站列中的值来区分类别。
有了这些决策,我们开始为每个类别创建新的结果类型。 创建新结果类型的过程对于所有类别都是相同的。 因此,为了节省空间,我们将只查看 TechNet 内容 结果类型的创建方式。
如何复制默认项显示模板
在创建新结果类型之前,应创建一个新结果类型将使用的新项显示模板。 若要避免从头开始创建新的项显示模板,可以复制现有模板。 尝试复制尽可能接近你拥有的内容类型的项目显示模板。 下面是您应执行的操作:
复制默认项显示模板。
在我们的方案中,我们希望自定义 SharePoint 列表项的搜索结果。 从 “关于结果类型” 中的引用表中,我们可以确定 SharePoint 列表项 结果类型使用的默认项显示模板是 名为 Item_Default 的文件。 由于我们已经具备 了如何映射网络驱动器,因此可以轻松地在 Windows 资源管理器中复制 Item_Default 文件。
通过刷新 Windows 资源管理器,我们看到 SharePoint Server 自动创建了关联的 JavaScript 文件。
重命名新创建的项显示模板。
在我们的方案中,我们将其重命名为 TechNet 内容 。 同样,我们刷新了 Windows 资源管理器,以验证 JavaScript 文件是否已相应地更新。
打开新的显示模板并更改 <标题> 标记。 请记住,此标记中的文本将在 SharePoint Server UI 中执行配置时显示。
在我们的方案中,我们已将 <游戏> 标记更改为 TechNet 内容。
保存新项显示模板。
创建一个新的项显示模板后,可以继续创建新的结果类型。
如何创建结果类型
根据权限级别,可以在两个级别创建结果类型:
权限级别 | 将添加结果类型的位置 |
---|---|
网站集管理员 |
网站集中的所有网站 |
网站集所有者 |
面向单个网站 |
为了节省空间,我们将仅介绍如何以网站集管理员身份创建结果类型。
转到 “网站设置” -“>搜索结果类型”。
我们可以复制现有结果类型并将其更改为适合新的结果类型,而不是从头开始创建新的结果类型,从而使生活更加轻松。 如果执行此操作,必须确保复制与要创建的新结果类型非常相似的结果类型。
在 “管理结果类型” 页上,从结果类型菜单字段中,选择“ 复制”。
在我们的方案中,我们希望自定义 SharePoint 列表项的搜索结果。 因此,我们复制了 SharePoint 列表项 结果类型。
在“添加结果类型”页上,下面是要遵循的步骤:
在 “为其指定名称” 字段中,输入新结果类型的名称。
在我们的方案中,我们输入了 TechNet 内容 。
从“ 结果应匹配的源 ”菜单中,选择用于在搜索结果 Web 部件中配置查询的结果源。
在 “哪些类型的内容应匹配?”可以跳过此规则以匹配所有内容 菜单,其中列出了所有默认结果类型。
在我们的方案中,我们选择了 “选择值”。
单击“ 显示更多条件”。
这会打开一个菜单,我们可以基于托管属性值指定结果类型。
在我们的方案中,所有列表项都包含名为 “分发通道 ”的网站栏。 正如我们在开头看到的,此网站栏包含发布平台值,例如 TechNet Library 。 我们使用了此网站列中的值来指定哪些列表项应属于我们的新结果类型。
从“ 哪些自定义属性应匹配 ”菜单中,我们选择了 “DistributionChannelOWSCHCS ”。 DistributionChannelOWSCHCS 是表示 分发通道 网站列的托管属性。 在以下字段中,我们输入了应指定新的 TechNet 内容 结果类型的所有值。
从 “这些结果应如下所示 ”菜单中,选择此结果类型应使用的显示模板。
在我们的方案中,我们选择了新创建的 TechNet 内容 显示模板。
单击保存。
新创建的结果类型现在在 “托管结果类型” 页上列出。
在我们的方案中,我们可以看到 TechNet 内容 结果类型已创建。
因此,现在我们有了新的结果类型,下一个任务是更改与此结果类型关联的显示模板。 有多种方法可以执行此操作。 因此,在本系列的后续两篇文章中,我们将介绍两个不同的选项。