【发布时间】:2014-01-23 09:14:07
【问题描述】:
问题
我有一个 FAST Search 查询返回超过 100000 个结果。我正在尝试以 5000 个块的形式获取结果,如下所示:
var queryManager = SharedQueryManager.GetInstance(this.Page).QueryManager;
queryManager[0][0].ItemsPerPage = 5000;
queryManager[0][0].StartItem = 1;
queryManager[0][0].TrimDuplicates = false;
queryManager[0][0].RequestedProperties = new System.Collections.Specialized.StringCollection() { "title" };
var results = queryManager[0][0].GetResults(queryManager);
如果 StartItem 低于 100000,它可以正常工作。但是 它会失败,只要我尝试一下:
queryManager[0][0].StartItem = 100001;
我得到一个异常:The search request was unable to execute on FAST Search Server.,内部异常是(不是很有帮助):The creator of this fault did not specify a Reason.
我尝试过的事情
我想这是一个配置问题,因为它只发生在 100000 标记之后。似乎不是超时或传输的数据过多。
我已尝试更改搜索服务应用程序配置 (Config:qp_MaxResultsReturned),如建议的 here
但没有运气。
还有一个解决方法建议我可以按创建日期对结果进行排序,并按日期添加额外的过滤(这样我总是会收到最多 5000 个结果),但我认为它有点难看。
我已使用FAST Search for Sharepoint 2010 Query Logger 记录失败的查询。奇怪的是,记录的响应包含超过 100000 标记的搜索结果,并且没有任何错误指示。
【问题讨论】:
标签: c# sharepoint sharepoint-2010 fastsearch