原文发布于 2013 年 1 月 9 日(星期三)

大家好,我是 Kerem Yuceturk,SharePoint 企业内容管理团队的一名项目经理。我真的非常兴奋,我将要开始介绍内容搜索 Web 部件,它是我们新增到 SharePoint 2013 的最有趣的功能之一,能够支持世界各地的 SharePoint 爱好者的各种应用场景。

在开始介绍内容搜索之前,让我先简单说明一下 Web 部件的作用,以做好准备工作。如果您曾经在 SharePoint 2007 和 SharePoint 2007 2010 时期处理过发布方案(如创建 Intranet 门户或知识管理解决方案),那么现在有一个使用内容查询 Web 部件的好机会。内容查询非常适合用于根据您设定的一系列条件显示动态内容。如果要在 Intranet 主页上显示新闻文章列表,或者要将销售报告列表发布到知识库中心,那么就可以使用内容查询来达到这一目的。

但是,您会遇到这样一个问题:如果您曾经希望显示位于不同网站集中的项目,那就没那么幸运了。内容查询 Web 部件的作用范围从过去到现在一直被限制为 Web 部件所在的网站集中。

在 SharePoint 2013 中,快速搜索和 SharePoint 搜索被合并在一起并且被深入集成到 SharePoint 中。作为此改变的一部分,我们增加了用于为已知没有网站集边界的 Intranet 或 Internet 网站发布内容的新工具。此工具就是内容搜索 Web 部件。

内容搜索可显示搜索索引中的任何内容,包括网站集中的内容,甚至是来自 SharePoint 外部的内容(只要已对其进行爬网并且已将其置于搜索索引中)。如果对内容进行了搜索爬网,那么无论该内容在什么位置,您都可以显示它(假如查看页面的用户具有查看有问题的项目的权限)。此外,利用内置于 SharePoint 2013 中的分析功能,系统还能根据使用模式显示建议和常用项目。

如果这听起来像您要尝试的操作,您可以在 SharePoint 服务器场中查找内容搜索,方法是转到 Web 部件添加器,然后选择“内容汇总类别”(Content Rollup category)。(内容搜索现在在 Office 365 上还不可用,但我们正努力在将来实现它。)

图 1. 两个来自不同上下文的内容搜索 Web 部件:左侧是显示另一个网站集中的某些 PowerPoint 文件的 Intranet 网站,右侧是显示产品目录中的某些项目的 Contoso Electronics 网站

 

在非常高的级别上,通过执行以下两个步骤来使用内容搜索非常容易:

  1. 选择要显示的项目(确定将返回这些项目作为结果的搜索查询)。
  2. 按所需方式设置项目的形式(使用显示模板自定义项目的外观)。

下面是有关这两个步骤的更多详细信息。

选择要显示的项目

内容搜索 Web 部件包含一个全屏查询生成器。该生成器有几个预配置查询,用于帮助您开始操作;它还有一个面板,用于预览结果以帮助您调整查询。内容搜索 Web 部件与 SharePoint 2013 的全新搜索概念(如结果源和查询规则)完全整合,并可使用这些概念获取结果。该部件还有一个高级模式:基本上就是一个放大的搜索框,在该搜索框中,您可以使用关键字查询 (KQL) 语法写入任何查询,然后可以使用预览面板尝试该查询。

图 2. 查询生成器(左侧是工具,右侧是结果预览)

 

内容搜索还支持在查询中使用大量动态值(也称为查询变量),如当天的日期、当前用户的名称、当前页面中的任何字段或当前网页的属性包中的自定义属性。对于查询生成器和动态值,有必要为它们各编写一些博客文章,但是现在如果您要了解其中一些可能性,则可以在查询中尝试以下查询变量:

{Today-7}:一周之前的日期,最适合“本周有什么新内容”查询。
{User.Name}:当前用户的名称。最适合于呈现正在查看页面的用户的内容。也适用于任何属性,包括当前用户的配置文件中的自定义属性。
{Page.MyCustomTextField}:获取您添加到在页面上使用的内容类型的字段的值。
{Site.URL}:获取当前网站的 URL,或者任何自定义属性。也适用于 SiteCollection
{Term}:托管导航中的当前术语。有关详细信息,请参阅博客文章“妥善利用 FURL”。

按所需方式设置项目的形式:显示模板

我们一直听客户提到有一个主要难点,即使用 XSL 设置内容查询 Web 部件的输出的格式很令人恼火。XSL 是一种比较模糊的 Web 技术。对于大多数经验丰富的用户而言,如果要在设置结果的格式时尝试执行某项有点不寻常的操作,那么 XSL 会让他们对语法头痛不已,这是众所周知的。

在 SharePoint 2013 中,有一种设置内容搜索 Web 部件中显示项目格式的新方法,即使用 HTML 和 JavaScript(而不使用 XSL):显示模板。

利用显示模板,您可以轻松地执行以下操作:

  • 指定要从搜索中检索的托管属性。
  • 根据需要操作 JavaScript 中的已检索托管属性的值。
  • 在浏览器中显示 HTML 格式的值。
图 3. 在每一列中使用三组不同的显示模板显示的相同搜索结果

 

显示模板位于网站集的母版页库中。名为 Display Templates 的文件夹中预安装了几个显示模板,以为您提供方便。那么,如果要体验这些显示模板,请浏览该文件夹。创建新显示模板的最佳方式是复制其中一个现有显示模板,并更改其属性和内容。请注意,您应始终处理这些文件夹中的 .html 文件;.js 文件将由 SharePoint 自动生成,无论您何时修改具有相同名称的 .html 文件都是如此。

对于显示模板,为了公平起见,我觉得也有必要专门为其写一篇博客文章。为了让本文简洁明了,让我在这里结束本节的内容。

结束语

我希望本文能让您初步了解内容搜索 Web 部件在 SharePoint 部署中的作用。请确保查看将来的文章,这些文章将提供有关此处介绍的某些概念的更多详细信息。

 

这是一篇本地化的博客文章。请访问 Introducing the Content Search Web Part 以查看原文