1

我一直在使用 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>

我的两次查询尝试都没有奏效,并且都出现了相同的错误,我正在寻找的任何内容都没有帮助解决方案。

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

有人有想法吗?我真的可以以这种方式搜索搜索服务器的快速版本吗?

任何帮助将不胜感激。

干杯

4

1 回答 1

1

好的,很简单,因为事实证明 FQL 不适用于 2010 express,现在我考虑一下很明显(我猜缺乏初步研究)。当我使用 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>
于 2013-03-05T22:08:47.720 回答