标签:
了解在 SharePoint Server 2013 中爬网的最佳做法
搜索系统对内容进行爬网,以构建一个用户可以对其运行搜索查询的搜索索引。本文包含有关如何最有效地管理爬网的建议。
本文内容:
注意: |
因为 SharePoint 2013 在 Internet Information Services (IIS) 中作为网站运行,所以管理员和用户依赖于浏览器提供的辅助功能。SharePoint 2013 支持受支持的浏览器的辅助功能。有关详细信息,请参阅以下资源: |
使用默认内容访问帐户对大部分内容进行爬网
默认内容访问帐户是您为 SharePoint 2013 Search Service 指定的域帐户,默认用于爬网。为了简单起见,最好尽可能使用此帐户对内容源指定的内容进行爬网。若要更改默认内容访问帐户,请参阅在 SharePoint 2013 中更改爬网的默认帐户。
如果您无法使用默认内容访问帐户对特定 URL 进行爬网(例如,因为安全原因),则可以针对验证爬网程序创建一个爬网规则来指定以下备选方法之一:
有关详细信息,请参阅在 SharePoint Server 2013 中管理爬网规则。
有效使用内容源
内容源是 Search Service 应用程序中用于指定以下内容之一的一组选项:
创建 Search Service 应用程序时,搜索系统将自动创建并配置一个内容源,称为“本地 SharePoint 网站”。这个预配置的内容源用于对用户配置文件进行爬网,以及对 Search Service 应用程序关联的 Web 应用程序中的所有 SharePoint 网站进行爬网。您还可以使用此内容源对其他 SharePoint 服务器场(如 SharePoint Server 2007 服务器场、SharePoint Server 2010 服务器场或其他 SharePoint Server 2013 服务器场)中的内容进行爬网。
当您想要执行下列任一操作时,请创建其他内容源:
然而,若要尽可能简化管理,建议您限制所创建和使用的内容源的数量。
使用内容源计划爬网
您可以编辑预配置的内容源“本地 SharePoint 网站”以指定爬网计划;不会默认指定一个爬网计划。对于任何内容源,您可以手动启动爬网,但建议您计划增量爬网或启用连续爬网以确保可以定期对内容进行爬网。
考虑根据不同的计划使用不同的内容源对内容进行爬网,原因如下。
对内容进行爬网可以显著降低承载该内容的服务器的性能。效果取决于主机服务器是否有足够的资源 (特别是 CPU 和 RAM) 来处理负载。因此,在计划爬网计划时,请考虑下列最佳做法:
对用户配置文件进行爬网,然后再对 SharePoint 网站进行爬网
默认情况下,在服务器场中的第一个 Search Service 应用程序中,预配置的内容源“本地 SharePoint 网站”至少包含以下两个开始地址:
但是,如果您部署的是“人员搜索”,则建议您为开始地址 sps3://My_Site_host_URL 创建一个单独的内容源,并首先针对该内容源运行爬网。这样做的原因是,完成爬网后,搜索系统会生成一个列表来标准化人员名称。这样,如果人员名称在一个搜索结果集中具有不同格式,则针对该人员的所有结果会显示在单个组(如“结果块”)中。例如,对于搜索查询“Anne Weiler”,所有由 Anne Weiler、A.Weiler 或别名 AnneW 创作的所有文档可显示在标记为“由 Anne Weiler 创作的文档”的结果块中。同样,所有由任何这些标识创作的文档都可显示在精简面板的标题“Anne Weiler”下(如果“作者”是此处的类别之一)。
对用户配置文件进行爬网,然后对 SharePoint 网站进行爬网
使用连续爬网确保搜索结果为最新
“启用连续爬网”是一个爬网计划选项,您可以在添加或编辑“SharePoint 网站”类型的内容源时选择此选项。连续爬网对上次爬网之后添加、更改或删除的内容进行爬网。连续爬网将按预定义的时间间隔启动。默认的时间间隔为 15 分钟,但您可以通过使用 Windows PowerShell 将连续爬网设置为按较短的时间间隔进行。连续爬网的频率很高,因此可确保搜索索引的新鲜度,即使是 SharePoint 内容,也会频繁地更新。此外,如果由于针对特定项目进行多次爬网尝试且返回错误而导致增量爬网或完全爬网延迟,则可通过连续爬网对其他内容进行爬网,并有助于保持索引的新鲜度,这是由于连续爬网不会处理或重试返回错误超过三次的项目。(对于启用了连续爬网的内容源,会每四个小时自动运行一次“清理”增量爬网,以对重复返回错误的所有项目进行重新爬网。)
单个连续爬网包括 Search Service 应用程序中启动了连续爬网的所有内容源。同样,连续爬网时间间隔适用于 Search Service 应用程序中启动了连续爬网的所有内容源。有关详细信息,请参阅在 SharePoint Server 2013 中管理持续爬网。
连续爬网会增加爬网程序和爬网目标上的负载。请确保相应地为此增加的资源消耗进行计划并横向扩展。对于启用连续爬网的每个大的内容源,建议您配置一个或多个前端 Web 服务器作为爬网的专用服务器。有关详细信息,请参阅管理爬网负载 (SharePoint Server 2010)。
由于爬网会消耗资源和带宽,因此在初始部署期间,最好对少量您所了解的相关内容进行爬网,而不是对其中可能有部分不相关内容的大量内容进行爬网。若要限制爬网的内容的数量,可以创建爬网规则,原因如下:
默认情况下,爬网程序不会跟进复杂的 URL,这类 URL 中,其他参数后跟问号 (?),例如,http://contoso/page.aspx?x=y。如果启用爬网程序跟进复杂的 URL,将导致爬网程序收集比预期或相应的更多 URL。这将导致爬网程序收集不必要的链接,爬网数据库中会填充冗余链接,并导致索引不必要地增大。
这些措施有助于减少服务器资源的使用和网络通信,并可以增加搜索结果的相关性。在初始部署后,您可以查看查询和爬网日志并在必要的情况下将内容源和爬网规则调整为包括更多内容。有关详细信息,请参阅在 SharePoint Server 2013 中管理爬网规则。
对 SharePoint Web 应用程序的默认区域进行爬网
对 SharePoint Web 应用程序的默认区域进行爬网时,查询处理器将自动映射并返回与执行查询的备用访问映射 (AAM) 对应的搜索结果 URL。这使用户可以轻松地查看和打开搜索结果。
然而,如果对 Web 应用程序的区域而不是默认区域进行爬网,查询处理器将不会映射与执行查询的 AAM 区域对应的的搜索结果 URL。相反,搜索结果 URL 将对应已爬网的非默认区域。出于此原因,用户可能无法随时查看或打开搜索结果。
例如,假定您有一个名为 WebApp1 的 Web 应用程序的以下 AAM:
现在,假设您对默认区域 https://contoso 进行爬网。用户从 https://contoso/searchresults.aspx 执行查询时,WebApp1 中的结果 URL 将对应 https://contoso/,因此格式为 https://contoso/path/result.aspx。
同样,如果查询来自 Extranet 区域,在这种情况下,来自 WebApp1 的结果 https://fabrikam/searchresults.aspx 将对应 https://fabrikam,因此格式为 https://fabrikam/path/result.aspx。
在这两种情况下,由于查询位置和搜索结果 URL 的区域一致性,用户可以很轻松地查看和打开搜索结果,无需更改不同区域的不同安全上下文。
但是,现在假定您对非默认区域(如 Intranet 区域 http://fabrikam)进行爬网。在这种情况下,对于任何区域的查询,来自 WebApp1 的结果 URL 将始终对应已爬网的非默认区域。也就是说,https://contoso/searchresults.aspx、https://fabrikam/searchresults.aspx 或 http://fabrikam/searchresults.aspx 的查询将产生由已爬网非默认区域开头的搜索结果 URL,因此格式为 http://fabrikam/path/result.aspx。这将导致意外的或有问题的行为,例如:
降低对 SharePoint 爬网目标进行爬网的影响
您可以执行以下步骤以降低对 SharePoint 爬网目标(即 SharePoint 前端 Web 服务器 )进行爬网的影响:
有关详细信息,请参阅管理爬网负载 (SharePoint Server 2010)。
使用爬网程序影响规则限制爬网的效果
若要限制爬网程序影响,您还可以创建爬网程序影响规则,可从 Search_service_application_name:搜索管理页获取。爬网程序影响规则指定爬网程序从开始地址或开始地址范围请求的速率。具体而言,爬网程序影响规则要么一次从 URL 请求特定数量的文档,而不在各请求之间等待,要么一次从 URL 请求一个文档,并在各请求之间等待特定时间。每个爬网程序影响规则都适用于所有爬网组件。
对于您组织中的服务器,可以根据已知服务器性能和容量设置爬网程序影响规则。但这可能不适用于外部网站。因此,您可能请求了太多内容或请求内容太频繁,导致无意中使用了外部服务器上的太多资源。这将导致这些外部服务器的管理员限制对服务器的访问,使您难以对存储库进行爬网或无法爬网。因此,将爬网程序影响规则设置为当您仍高频率对足够多的内容进行爬网时,对外部服务器产生尽可能小的影响,以确保索引的新鲜度可满足您的需求。
使用 Active Directory 组而非单个用户的权限
用户或组对网站执行各种活动的能力由您分配的权限级别决定。如果您单独添加或删除用户的网站权限,或者如果您使用 SharePoint 组指定网站权限,并更改组成员资格,则爬网程序必须执行“仅安全爬网”,用以更新搜索索引中的所有受影响的项目,从而反映更改情况。同样,通过不同用户或 SharePoint 组添加或更新 Web 应用程序策略将触发该策略对所有涵盖的内容的爬网。这将增加爬网负载,并降低搜索结果的新鲜度。因此,若要指定网站权限,最好使用 Active Directory 域服务 (AD DS) 组,因为不需要爬网程序更新搜索索引中受影响的项目。
添加第二个爬网组件来提供容错能力
创建 Search Service 应用程序时,默认搜索拓扑将包括一个爬网组件。爬网组件将检索内容库中的项目,将这些项目下载到承载爬网组件的服务器,将项目和关联的元数据传递给内容处理组件,并将爬网相关的信息添加到关联的爬网数据库。您可以添加第二个爬网组件以提供容错功能。如果一个爬网组件不可用,另一个爬网组件将接管所有爬网操作。对于大多数 SharePoint 服务器场,总共两个爬网组件就足够了。
有关详细信息,请参阅以下 TechNet 文章:
管理环境资源以改善爬网性能
在爬网组件对内容进行爬网、将内容下载到爬网服务器(托管爬网组件的服务器),并将内容传给内容处理组件后,多个因素会对性能产生负面影响。若要提高爬网性能,可以执行以下操作:
有关详细信息,请参阅以下资源:
确保没有爬网处于活动状态,然后再更改搜索拓扑
建议您确认没有正在进行的爬网,然后再启动对搜索拓扑的更改。否则,拓扑更改将不会顺利进行。
如有必要,可以手动暂停或停止完全爬网或增量爬网,您也可以禁用连续爬网。有关详细信息,请参阅以下文章:
注意: |
暂停爬网的缺点在于,对于爬网组件的引用可保留在搜索管理数据库中的 MSSCrawlComponentsState 表中。如果您希望删除任何爬网组件,这将导致一个问题(因为您希望从服务器场中删除承载这些组件的服务器)。然而,您在停止爬网后,MSSCrawlComponentsState 表中对爬网组件的引用将会被删除。因此,如果您希望删除爬网组件,最好是停止爬网,而不是暂停爬网。 |
若要确认没有正在进行的爬网,在“Search_service_application_name: 管理内容源”页上,确保每个内容源的“状态”字段中的值为“空闲”或“已暂停”。(爬网完成后,或停止爬网后,内容源的“状态”字段中的值将更改为“空闲”。)
从爬网主机上删除爬网组件,然后从服务器场删除主机
如果服务器承载了爬网组件,从服务器场删除该服务器将使搜索系统无法对内容进行爬网。因此,在从服务器场删除爬网主机之前,强烈建议您执行以下操作:
有关详细信息,请参阅以下资源:
更改爬网配置或应用更新后,测试爬网和查询功能
建议您在更改配置或应用更新后,测试服务器的爬网和查询功能。以下过程是进行这种测试的一个简易方法示例。
测试爬网和查询功能
使用爬网日志和爬网运行状况报告诊断问题
爬网日志可跟踪有关已爬网内容状态的信息。日志包括内容源、主机、错误、数据库、URL 和历史记录的视图。例如,可以使用此日志确定内容源上一次成功爬网的时间,已爬网内容是否已成功添加到索引,是否由于爬网规则将其排除,或者,是否由于出现错误导致爬网失败。
爬网运行状况报告提供了有关爬网速率、爬网延迟、爬网新鲜度、内容处理、CPU 和内存负载、连续爬网及爬网队列的详细信息。
您可以使用爬网日志和爬网运行状况报告诊断搜索体验问题。通过诊断信息,您可以确定是否有助于调整元素(如内容源、爬网规则、爬网程序影响规则、爬网组件及爬网数据库)。
有关详细信息,请参阅在 SharePoint Server 2013 中查看搜索诊断。
文章转自:《SharePoint Server 2013 中的爬网最佳做法》
SharePoint Server 2013 中的爬网最佳做法
标签:
原文地址:http://www.cnblogs.com/SanMaoSpace/p/5049453.html