首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用C#在SharePoint 2013中访问搜索API时出错:您的搜索无法完成,因为没有搜索服务

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

Stack Overflow用户
提问于 2014-05-21 01:31:35
回答 2查看 1.7K关注 0票数 1

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

代码语言:javascript
复制
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服务器/env上尝试了这些代码,同样的问题也发生了。日志中还有一些关于无法找到HostController服务的其他信息。有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-21 18:28:32

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

必须使用Microsoft.Office.Server.Search.Query而不是Microsoft.SharePoint.Search.Query

票数 3
EN

Stack Overflow用户

发布于 2014-05-21 07:33:42

确保您的搜索服务处于打开状态,并且没有指定错误。此外,通过浏览器中的搜索REST,您可以验证搜索是否正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23772611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档