Question

The Problem

I've got a FAST Search query that returns more than 100000 results. I am trying to get the results in chunks of 5000, like this:

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);

It works fine if StartItem is lower than 100000. But it fails as soon as I try:

queryManager[0][0].StartItem = 100001;

I am getting an exception: The search request was unable to execute on FAST Search Server., with inner exception being (not very helpful): The creator of this fault did not specify a Reason.

Things I've tried

I suppose this is a configuration issue, as it happens only right after the 100000 mark. It does not seem to be a timeout or too much data being transferred.

I have tried changing the Search Service Application configuration (Config:qp_MaxResultsReturned), like suggested here but with no luck.

There is also a workaround suggesting that I could sort the results by the created date, and add additional filtering by date (that way I would always receive max 5000 results), but I think it is a bit ugly.

I have used the FAST Search for Sharepoint 2010 Query Logger to log the query that fails. Strangely, the logged response contains search results over the 100000 mark and no indication of an error.

Was it helpful?

Solution

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"

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top