何时使用 SharePoint 中的内容查询 Web 部件或内容搜索 Web 部件

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

有两个 Web 部件可以用于搜索 SharePoint 网站上的数据。它们是非常类似 ︰内容查询 Web 部件 (CQWP)内容搜索 Web 部件 (CSWP)。通过查看其姓名,只需不清楚地区分二者之间的差异。

内容查询和内容搜索 Web 部件

在本文中,我们将帮助您了解这两个 Web 部件的工作方式,以及何时应使用其中之一,而不是另一个。

了解这两个 Web 部件的优点和局限性非常重要,因为如果选择错误,您的网站可能会遇到性能问题。 这两个 Web 部件都可以用于显示基于查询的内容。 下面介绍了不太复杂的情况下如何在这两者之间进行选择:

  • 如果已有内容不多,查询简单,并且预计内容在将来增长幅度不大,请使用 CQWP。

  • 其他所有情况下如果希望显示基于查询的内容,请使用 CSWP。

下表提供了这两个 Web 部件之间的比较:

Web 部件的行为

内容查询 Web 部件

内容搜索 Web 部件

查询配置

简单

需要了解某些搜索功能,如托管属性

在大量内容中进行查询

受限

支持

处理复杂查询

受限

支持

可灵活应对内容将来的增多

受限

支持

显示其他网站集中的内容

是 (请参阅下面的使用内容搜索 Web 部件以显示来自其他网站集的内容

可自定义查询结果的设计

是,通过使用 XSLT。

是,通过使用 HTML。

复杂站点体系结构中的维护成本

小型 (请参阅使用内容搜索 Web 部件保持较低的维护成本下面)

缩小 Web 部件中所显示的查询结果范围

是,在与优化 Web 部件结合使用时。

这两个 Web 部件都可以用于显示子网站中存储的内容。 内容作者和主站点访问者的用户体验完全相同,不受所用 Web 部件的影响。 这两个 Web 部件之间的区别在于各自使用的技术。 CQWP 查询数据库,而 CSWP 则查询搜索索引。

下面是这些 Web 部件的行为方式示例。 示例 A 显示一家公司正在使用 CQWP 显示其销售子网站中的内容,而示例 B 则显示一家公司使用 CSWP 显示其销售子网站中的内容。

CQWP 和 CSWP 如何显示内容

图像标注

示例 A:
内容查询 Web 部件

示例 B:
内容搜索 Web 部件

1

在列表中创作内容。

在列表中创作内容。

2

列表项立即存储到数据库中。

在设置的时间间隔内,列表项将自动爬网并添加到搜索索引中。

3

访问者查看主站点。 CQWP 自动向数据库发出查询。

访问者查看主站点。 CSWP 自动向搜索索引发出查询。

4

数据库返回查询结果并将其显示在 CQWP 中。

搜索索引返回查询结果并将其显示在 CSWP 中。

由于这两个 Web 部件使用不同技术,所以何时应选择其中一个 Web 部件,而不是使用另一个的用例有所不同。 用例通常比上一部分中显示的简单示例更复杂。 决定使用哪个 Web 部件之前,请务必注意以下事项:

  • 内容有多少?

  • 查询有多复杂?

  • 内容将存储在哪里?

  • 一段时间之后内容会增长多少?

  • 一段时间之后维护成本会增加多少?

我们建议将以上所有事项作为整体解决,而不是单独解决。

注意: 如果您考虑从 SharePoint 内部网站移到 SharePoint Online 网站,并且您在 SharePoint 内部网站上使用的是 CQWP,您可能会遇到一些性能问题。 在 SharePoint Online 中,您将不能调整租户来提高性能。 此外,缓存功能在 SharePoint Online 网站中和 SharePoint 内部网站中的行为也不同。

对内容查询 Web 部件的性能的影响

在上面的示例中,如果“新闻”列表中包含的项目不到 5000 条,CQWP 的效果可能非常好。 但是,如果“新闻”列表中包含的项目超过 5000 条,而 CQWP 中的查询很复杂,该 Web 部件可能会遇到性能问题。 很难确切定义复杂查询,但是要在您的站点集中的所有站点内查询的比查询特定列表的更为复杂。 此外,如果查询使用“其他筛选器”,将增加查询的复杂程度。 查询的复杂程度将根据所用站点列类型和条件而增加。 下面提供了几个示例:

  • 对类型为多行文本的站点列执行过滤的查询比对类型为是/否的站点列执行过滤的查询更为复杂。

  • 使用包含条件的筛选器比使用等于条件的查询更为复杂。

  • 条件越多,查询的复杂程度越高。

CQWP 中的查询配置

CQWP 的性能也受内容的存储位置影响。 如果您的内容存储在多个站点中,Web 部件必须处理的列表项总量将影响其性能。 例如,在公司的主站点中,您希望显示保留在多个子站点中的列表内的最新新闻项。 每个列表中包含 1000 项。 这意味着 CQWP 必须在 3000 项中查询。

在多个子站点中查询

在本示例中,只要总项数低于 5000,CQWP 的性能就可能很好。 但是如果查询很复杂,即使总项数只有几千,CQWP 也可能遇到性能问题。

可能影响 CQWP 性能的另一个重要因素是内容是否增长。 目前效果很好的解决方案未必适合将来的内容。 如果您预计站点数或内容量会大大增加,则不应使用 CQWP。

这两个 Web 部件都可以用于显示基于网站导航产生的信息的内容。 例如,当访问者转到某个页面时,该页面上的 Web 部件将自动发出一个查询,该查询中包含网站导航产生的信息。 搜索结果在该 Web 部件中显示。 如果您的内容不多,查询又简单,则可以使用多个 CQWP 来显示您的内容。 但是,由于必须单独维护每个 CQWP,所以维护成本可能会迅速上升。

通过将 CSWP 与托管导航和类别页面配合使用,维护成本将不受内容增多的影响。 例如,如果向内容添加一个新导航类别,您可以使用相同的类别页面来显示属于这个新导航类别的内容。 因此,即使您的内容在增长,您也只需要维护相同的页数。

请参阅下列其他文章的详细信息 ︰

在下面的示例中,您可以看到四个 CQWP 如何被类别页面上的一个 CSWP 取代。

复杂网站体系结构

您可以使用 CSWP 显示其他网站集中的内容。 例如,如果您希望在一个网站集中创作内容,并将创建的内容在另一个网站集中显示,则必须使用 CSWP。 CQWP 只能显示一个网站集中的内容。

对其他网站集中的内容的查询

如果您不确定要使用哪个 Web 部件,CSWP 在大多数情况下可能都是最佳选择。 此 Web 部件比 CQWP 更灵活,因此如果您计划随着时间的推移扩展内容,此 Web 部件可以提供更好的性能结果。

如果您决定使用 CQWP,我们建议您执行测试以了解该 Web 部件是否符合您当前和将来的性能和维护要求。

内容搜索和内容查询 Web 部件的详细信息

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×