Sharepoint 2010搜索结果和作者

时间:2013-02-04 16:21:53

标签: sharepoint search metadata search-server-2010

我想删除CreatedBy,使其不被包含在Authors属性中。我们正在上传要编制索引的文档,并且永远不会成为该文档的作者。元数据作者应该是搜索结果和细化面板的唯一作者。

我能够修改核心结果的XSL,并且只是删除了作者的显示。现在,我的问题是细化面板列出了用户创建的作者。

我删除了CreatedBy元数据属性,并尝试将Author(Text)属性修改为仅包含metadataAuthor而没有运气。

这里有什么建议吗? - 谢谢

2 个答案:

答案 0 :(得分:0)

我最终修改了Core Results XSL以排除第一位作者:

<xsl:template name="DisplayAuthors">
  <xsl:param name="author" /> 
  <xsl:if test="string-length($author) &gt; 0"> 
   <xsl:value-of select="$Authors" />
   <xsl:choose>
   <xsl:when test="string-length(author_multival) &gt; 0"> 
   <xsl:for-each select="author_multival">
    <xsl:variable name="p" select="position()"/>
    <xsl:if test="$p &gt; 1">
       <xsl:value-of select="."/>
       <!--<xsl:text disable-output-escaping="yes">&#44;</xsl:text> 
       <xsl:text disable-output-escaping="yes">&#32;</xsl:text> -->
    </xsl:if>
  </xsl:for-each>
  </xsl:when>
  <xsl:otherwise>
   <xsl:value-of select="author"/>      
  </xsl:otherwise>
  </xsl:choose>
  </xsl:if>
</xsl:template>

对于细化面板,我为作者添加了一个自定义过滤器,因为列表非常静态。不在列表中的任何作者都将从细化列表中排除。

答案 1 :(得分:0)

你可以这样做。被抓获的财产都在一起。

Office:4(Text) =Author, MetadataAuthor  

您可以使用自定义抓取的属性来实现这一目标。