在 SharePoint Server 2010 中,假设我设置了一个文档集并将一些 Word 文档放入其中。每个 Word 文档都包含一个仅在 Word 文档正文中出现的常用短语。
在搜索每个 Word 文档中存在的常用短语时,有没有办法只返回搜索结果中的文档集,而不是返回每个单独的 Word 文档?
在 SharePoint Server 2010 中,假设我设置了一个文档集并将一些 Word 文档放入其中。每个 Word 文档都包含一个仅在 Word 文档正文中出现的常用短语。
在搜索每个 Word 文档中存在的常用短语时,有没有办法只返回搜索结果中的文档集,而不是返回每个单独的 Word 文档?
使用此语法:
http://yoursite/_layouts/OssSearchResults.aspx?k=[searchterms]site:" http://yoursite/yourlibrary/yourfolderordocset"
在这里找到这个
如果短语始终相同,您可以为此搜索创建一个搜索页面。从帖子中不清楚您是否需要范围,您可以使用有限的搜索,即“此列表”类型的东西。您可以自定义核心结果 Web 部件以添加具有文档集名称/标题的列。更新 XSLT 以仅在搜索结果中显示项目的文档集名称/标题。这假设结果只是文档集,如果搜索将返回与其他项目混合的文档集,您仍然可以在 XSLT 中包含条件逻辑,以便在搜索项目是文档集时仅显示文档集标题/名称。
合并具有相同架构的文档 - 或者在您的情况下,在同一架构中组合类似的元素。(来自书中的解决方案6.4)
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:param name="doc2"/>
<xsl:template match="/*">
<xsl:copy>
<xsl:copy-of select="* | document($doc2)/*/*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
执行集合操作,例如使用 XPath 对节点集合进行联合。(来自书中的解决方案7.1)
<xsl:copy-of select="$node-set1 | $node-set2"/>
Sal Mangano 的 XSLT Cookbook,由 O'Reilly 出版