使用Search Server 2010 Express Web服务结果返回.aspx页面而不是文档

时间:2011-02-23 20:33:30

标签: vb.net sharepoint-2010

我在vb.net应用程序中有一个搜索Web引用(来自Search Server 2010 Express安装),该应用程序利用QueryService类搜索生产Sharepoint Foundation 2010站点。

在之前的某个时间点,我们已经在一个完全测试系统上创建了一个概念证明,该系统已被草坪化。从我对此测试系统的回忆中,当文档作为特定站点内容类型(继承自文档)上传并提供元数据时,我们可以通过为每个元素创建托管属性来搜索特定元数据,并且搜索结果将作为文档返回(将isdocument标志设置为true)。然后查看文档变得简单,因为我们可以简单地使用文件名和路径来显示存储的文件。

现在我们正在开发一个生产系统,我们遇到了一个新的行为,现在这些结果作为aspx结果返回,如

http://digitizaton/Company/Client Documents/Forms/DispForm.aspx?ID=1703

这当然使得查找和查看文档非常困难,我们可以提取标题,然后将为我们提供没有扩展名的文件的名称,但这几乎没有帮助,因为FileExtension数据是aspx,而不是文件扩展名,所以我们没有完整的文件名。我们可以显示返回的页面作为结果,但更喜欢文档本身。

我已经制作了一个测试文档库,只设置了裸机(不使用网站内容类型或网站列)并在同一网站上传了一些文档,并以同样的方式返回,所以我不要相信文档库或内容类型是问题。

由于对Sharepoint和Search Server的理解相当有限,我不知道这是搜索服务本身,网站配置还是我发送的查询包的设置问题。我们还在服务器上安装了第三方应用程序(Knowledgelake),该应用程序与sharepoint相关联,这可能也改变了某些地方的配置?

我认为查询数据包没有改变,因为它在概念验证中工作,而不是自定义数据列名称。我会在这里提供它,以防外部读者有明显的东西。

<QueryPacket xmlns='urn:Microsoft.Search.Query.Document'>"
  <Query>
    <SupportedFormats>
        <Format>urn:Microsoft.Search.Response</Format>
    </SupportedFormats>
    <Range>
     <Count>0</Count>
    </Range>
   <Context>
      <QueryText type='MSSQLFT'>
       SELECT Filename, Title, FileExtension, IsDocument, Path from Scope() WHERE ""Scope"" = 'Department1' AND CustomData = 'X' -- 
      </QueryText>
    </Context>

任何指导都会非常感激。如果我没有提供相关信息,请告诉我,我可以追踪它。

谢谢大家

1 个答案:

答案 0 :(得分:1)

所以现在我觉得自己像个白痴,我已经搜了好几个小时而没有运气,在撰写这篇文章后几秒钟,我找到了我一直在寻找的金块。

我们的主要文件类型PDF似乎与Sharepoint 2010存在已知问题,如以下网站所示。

http://www.sharepointsharon.com/2010/03/sharepoint-2010-and-adobe-pdf/

此外,需要此注册表项设置才能将它们全部链接

http://www.mossgurus.com/adnan/Lists/Categories/Category.aspx?Name=SharePoint%202010%20--%20Configuration