0

问题

我有一个 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),就像这里建议的那样, 但没有运气。

还有一个解决方法建议我可以按创建日期对结果进行排序,并按日期添加额外的过滤(这样我总是会收到最多 5000 个结果),但我认为它有点难看。

我已使用FAST Search for Sharepoint 2010 Query Logger来记录失败的查询。奇怪的是,记录的响应包含超过 100000 标记的搜索结果,并且没有任何错误指示。

4

1 回答 1

0

Try to change the "maxoffset" it is located in the "fdispatch.addon" file:

%FASTSEARCH%/etc/config_data/RTSearch/webcluster/fdispatch.addon

Then, restart search "nctrl restart search-1"

于 2014-01-23T10:36:51.630 回答