修复联合位置 (Search Server 2008)

更新时间: 2008年3月

应用到: Microsoft Search Server 2008

 

上一次修改主题: 2015-03-09

提示

除非另有说明,否则本文中的信息对 Microsoft Search Server 2008 和 Microsoft Search Server 2008 Express 均适用。

在 Microsoft Search Server 2008 中,最终用户可利用联合发出查询,以搜索多个源并将搜索结果合并到单个搜索结果页面中。这些源可以是企业内容库、其他搜索引擎或 Search Server 2008 索引的某些部分。源是由联合位置定义的。

配置问题有时可能会导致联合搜索结果显示不正确或根本不显示。本文描述了联合位置可能会停止正常工作的一些常见情况,并提供了疑难解答信息来帮助您解决此类问题。

提示

如果您不熟悉联合位置,请在尝试排解位置的疑难问题之前阅读联合概述。若要查找此概述,请在 Search Server 2008“搜索管理”页面的“我希望”部分中,单击“联合来自其他位置的结果”,然后阅读所显示的文章。

纠正配置错误

当您创建或导入联合位置时,Search Server 2008 会尝试对您在“添加联合位置”或“编辑联合位置”页面上输入的信息进行验证,从而提供有限的上下文错误检查。例如,在“添加联合位置”页面上的字段中忽略必填信息或输入无效数据将导致显示一条错误消息。在这种情况下,需要先解决问题,然后才能保存位置。

提示

Search Server 2008 联合配置页面上的错误检查不会对源 URL、安全凭据或自定义 XSL 代码进行验证。在联合位置的配置页面上输入此类信息之前,应手动对其进行验证。

测试搜索结果

创建了联合位置后,请将联合位置连接到联合搜索结果和顶部联合结果 Web 部件再提交测试查询,以此来确保联合位置配置正确。

乍一看来,返回搜索结果的联合位置看上去可能工作正常。但是,如果联合位置是新创建、导入或最近修改过的位置,在将搜索结果提供给用户之前,应仔细检查搜索结果。

解决搜索结果不正确问题

如果搜索结果显示不正确或不完整,请尝试以下一个或多个疑难解答步骤:

问题 验证测试 详细信息

联合结果与源结果不同。

验证是否指定了有效的查询模板。

在“编辑联合位置”页面的“位置信息”部分中,验证所指定“查询模板”的语法。

如果模板无效,它将无法正确地将查询传递到其关联的位置。

注意:查询模板区分大小写。

“其他链接”不正常,或无法转到其预期目标。

验证是否指定了有效的“更多结果”链接模板。

在“编辑联合位置”页面的“位置信息”部分中,验证所指定“更多结果”链接模板的语法。

如果模板无效,当用户单击“更多结果”链接时,将无法正常显示全部搜索结果。

搜索结果的显示格式差强人意、未合并预期的源元数据(文本或图像),或者联合位置在 Windows SharePoint Services 兼容编辑器中无法正常呈现。

验证任何自定义 XSL 代码、格式设置属性或者您为联合结果 Web 部件或顶部联合结果 Web 部件输入的示例数据是否有效。

如果尚未执行此操作,您可能需要自定义 XSL 和属性默认值以便为位置返回更适当的数据。

在“编辑联合位置”页面的“显示信息”部分中,验证您在“XSL”、“属性”或“示例数据”字段中输入的任何自定义代码的有效性。Search Server 2008 不会自动验证这些字段中的代码,管理员要负责确保所输入代码的有效性。

如果您怀疑“XSL”或“属性”代码中存在错误,请复制输入的任何自定义代码,选中“使用默认格式”复选框以重置默认代码,然后仔细重新添加自定义代码以继续测试。

如同所有自定义编码一样,首先进行简单的修改,加以保存,并测试位置。然后,逐步向此部分的字段中添加较复杂的代码并再次测试结果。

使用不同的浏览器或不同的屏幕分辨率时,显示的结果发生改变或显示不正常。

使用另一个 Web 浏览器和不同的屏幕分辨率验证结果。

最终用户可能会使用与您不同的计算机和监视器配置。若要详尽验证联合搜索结果的预期显示,请使用不同的 Web 浏览器以及更高和更低的屏幕分辨率来测试位置。

如果出现呈现问题,通过修改位置的 XSL 也许能解决此问题。

其他问题。

检查 ULS 服务器日志,以查看在执行联合位置查询时记录的错误消息。

Windows SharePoint Services 中的统一日志记录服务 (ULS) 日志文件提供了运行审核记录,该审核记录对检测到的任何错误情况发出警告。大多数情况下,检查 ULS 日志可以发现重要的疑难解答线索。

解决缺少搜索结果的问题

如果位置看起来未返回任何搜索结果,请尝试以下一个或多个疑难解答步骤:

问题 验证测试 详细信息

未显示结果,或出现“找不到位置”错误消息。

验证源或宿主源是否工作正常。

如果宿主源暂时出现问题,有时可能会使联合位置无法从该源中提取并显示搜索结果。

请尝试手动浏览或连接到宿主源,以确保该源在联合系统外部工作正常。

同时确保正确指定了查询模板。

未显示结果,或出现“找不到位置”错误消息。

验证是否将 Search Server 2008 正确地配置为使用代理服务器进行搜索。

搜索服务管理员可以指定代理服务器设置以便在其他网络(比如 Internet)中的计算机上对内容进行爬网或查询联合源。多数情况下,必须使用代理服务器绕过 Intranet 安全限制。

如果服务器的 ULS 日志包含 HTTP 错误(比如“404 未找到”错误),并且企业网络使用代理服务器连接到 Internet,请确保正确配置了联合代理设置。

有关详细信息,请参阅配置代理设置 (Search Server 2008)

未显示结果,或出现“无效身份验证”错误消息。

验证需要身份验证的位置是否正确传递了必要的凭据。

如果一个或多个联合位置需要用户身份验证,请验证是否在“编辑联合位置”页面的“指定凭据”部分中指定了必要的凭据。

如果“编辑联合位置”页面上的“位置类型”设置为“该服务器上的搜索索引”,Search Server 2008 将使用默认身份验证。但是,如果“位置类型”设置为“OpenSearch 1.0/1.1”,则“指定凭据”部分将提供高级选项,其中包括若干基于用户的身份验证协议。如果您使用基于用户的身份验证协议,请确保已启用了 Kerberos 或您是通过自己的 Web 部件来收集用户凭据。

未显示结果,或出现可视化错误。

验证任何自定义 XSL 代码、格式设置属性或者您为联合结果 Web 部件或顶部联合结果 Web 部件输入的示例数据是否有效。

在“编辑联合位置”页面的“显示信息”部分中,验证您在“XSL”、“属性”或“示例数据”字段中输入的任何自定义代码的有效性。Search Server 2008 不会自动验证这些字段中的代码,管理员要负责确保所输入代码的有效性。

如果您怀疑“XSL”或“属性”代码中存在错误,请复制输入的任何自定义代码,选中“使用默认格式”复选框以重置默认代码,然后仔细重新添加自定义代码以继续测试。

如同所有自定义编码一样,首先进行简单的修改,加以保存,并测试结果。然后,逐步向此部分的字段中添加较复杂的代码并再次测试结果。

未显示结果。

验证所选的触发器类型是否与位置的查询相匹配。

只有在用户的查询与某个联合位置的触发器相匹配时,才会搜索该位置。

在“编辑联合位置”页面的“常规信息”部分中,验证是否选择了适当的“触发器”类型。如果当前选择设置为“前缀”或“模式”,请尝试将其更改为“始终”,并测试是否会出现任何搜索结果。

其他问题。

检查 ULS 服务器日志,以查看在执行联合位置查询时记录的错误消息。

Windows SharePoint Services 3.0 中的统一日志记录服务 (ULS) 日志文件提供了运行审核记录,该审核记录对检测到的任何错误情况发出警告。大多数情况下,检查 ULS 日志可以发现重要的疑难解答线索。