CSharp - 在 SharePoint 2013中,使用 C# 访问搜索API出错: 无法完成搜索,因为没有可用的搜索服务

  显示原文与译文双语对照的内容
0 0

我正在使用服务器端对象模型尝试调用搜索服务( 针对搜索索引进行查询) 。 代码如下所示:


using (SPSite siteCollection = new SPSite(http://ValidSharePointSite))
 {
 KeywordQuery keywordQuery = new KeywordQuery(siteCollection);
 keywordQuery.QueryText ="search text";
 SearchExecutor searchExecutor = new SearchExecutor();
 ResultTableCollection resultTableCollection = searchExecutor.ExecuteQuery(keywordQuery);
 resultTableCollection.Filter("Pages", KnownTableTypes.RelevantResults);
 ResultTable resultTable = resultTableCollection.FirstOrDefault();
 DataTable dataTable = resultTable.Table;
 }

当它到达创建KeywordQuery对象的行中时,将引发以下错误: 无法完成搜索,因为没有可用的搜索服务

我尝试了两个不同的SharePoint服务器/envs的代码,同样的问题发生。 日志中还有一些关于HostController服务无法找到的信息。 任何建议?

时间: 原作者:

0 0

以下是解决方案:http://coder87.wordpress.com//keywordquery-doesnt-work-or-confusion-between-search-namespaces/#comment-484

必须使用英镑的Microsoft.Office.Server.Search.Query,而不是英镑的Microsoft.SharePoint.Search.Query ;

原作者:
0 0

确保搜索服务已经启动且没有指定任何错误。 同样通过浏览器搜索 REST API,你可以验证搜索是否正常工作

...