用于查询Search Server Express 2010的C#应用​​程序

时间:2013-03-05 05:06:54

标签: sharepoint-2010 search-server-2010

我一直在使用Search Server Express 2010,并在C#中构建了一个小的Windows应用程序,试图查询服务器并返回一些结果。每当我尝试运行查询时,我都会收到错误“搜索请求无法连接到搜索服务。”

我的查询如下。我也尝试过MSSQLFT类型的查询。

<QueryPacket xmlns='urn:Microsoft.Search.Query'>
   <Query>
  <SupportedFormats>
     <Format revision='1'> urn:Microsoft.Search.Response.Document:Document</Format>
  </SupportedFormats>
  <Context>
     <QueryText language='en' type='FQL'>
     </QueryText>
  </Context>
  <ResultProvider>FASTSearch</ResultProvider>
  <Range>
     <Count>10</Count>
  </Range>
   </Query>
</QueryPacket>

我的查询尝试都没有起作用,并且都得到了相同的错误,我正在寻找的任何内容都无法解决问题。

我故意通过使搜索服务器脱机,在搜索中创建错误等方式以其他方式破坏它,并且它们都给我不同的错误,所以我认为查询确实实际到达服务器了! (另外我确信我的权限是正确的)

有没有人有任何想法?我实际上甚至能够以这种方式搜索快速版本的搜索服务器吗?

非常感谢任何协助。

干杯

1 个答案:

答案 0 :(得分:1)

好的,简单,因为事实证明FQL不适用于2010快递,现在很明显我想到它(我猜想缺乏初步研究)。当我使用MSSQLFT查询类型时,我不小心离开了

<ResultsProvider>FastSearch</ResultsProvider>

在那里排队。这导致了我得到的错误。

对我有用的查询是

<QueryPacket xmlns='urn:Microsoft.Search.Query'>
<Query>
<SupportedFormats>
<Format>urn:Microsoft.Search.Response</Format>
</SupportedFormats>
<Context>
<QueryText language='en' type='MSSQLFT'>
SELECT Filename, Title, FileExtension, Path from Scope()
</QueryText>
</Context>
<Range>
<Count>10</Count>
</Range>
</Query>
</QueryPacket>