如何:更改核心搜索结果中返回的属性
搜索组件的元数据架构可能包含希望在返回的核心搜索结果中包含的自定义属性。若要在搜索结果页上显示自定义属性的值,则必须将核心搜索结果 Web 部件的属性修改为:
向搜索查询添加自定义属性
修改 XSLT 以显示自定义属性。
备注
仅托管属性对搜索查询可用。如果自定义属性是已爬网的属性,则必须将其映射到托管属性以便这些步骤能够工作。有关详细信息,请参阅管理元数据。
向搜索查询添加属性
在浏览器中打开搜索结果页之后,单击“网站操作”菜单,然后单击“编辑网页”。
当页面在“编辑”模式中打开之后,单击核心搜索结果 Web 部件的下拉箭头以打开“Web 部件”菜单,然后单击“修改共享 Web 部件”。这样,可以使用工具窗格来修改 Web 部件的属性。
展开“结果查询选项”节点,并在“选定的列”框中单击。单击省略号 ("…") 按钮以打开“选定的列”属性的文本项窗口。
通过使用以下语法,在 <SelectedColumns> 节中添加带有托管属性名称的标记:
<Column Name="PropertyName"/>
通过单击“确定”或“应用”保存对 Web 部件的更改。
此时,属性值应包含在返回的搜索结果中。可以使用如何:查看搜索结果 XML 数据中所述步骤来验证这一点。
备注
若要将属性作为搜索结果的一部分显示,则必须修改 Web 部件的“XSL”属性。
修改 Web 部件的 XSLT 以包含新属性
重复上述过程中的步骤 1 和步骤 2。
展开“杂项”节点,然后在“XSL”属性框中单击。若要打开“XSL”属性文本项窗口,请单击出现的省略号 ("…") 按钮。
将窗口的内容复制到 XML 编辑器中,可在此编辑器中修改 XSLT 代码以显示自定义属性。
所做的修改与希望显示属性的方式有关。例如,可以使用相同的格式将自定义属性与 Author 和 LastModified 属性一起显示。
使用 DisplayString 模板以转换这些属性的 XML。若要定位这些属性的 <xsl:call-template> 元素,请搜索以下字符串:
call-template name="DisplayString"
在本节中,将为新属性添加 <xsl:call-template> 元素,复制用于 Author 或 LastModified 属性的语法。
使用下列语法:
<xsl:call-template name="DisplayString"> <xsl:with-param name="str" select="CustomProperty" /> <xsl:with-param name="prop">Custom Property:</xsl:with-param> </xsl:call-template>
或者,可以为自定义属性创建新模板,并使用 <xsl:call-template> 元素指定此模板。有关此过程的详细信息,请参阅 MSDN。