Question

am using KeywordQuery to search and.. the SortList does not affect result, it is always return first 5 results. Any suggestion? The code is bellow...

    using (KeywordQuery query = new KeywordQuery(site))
                {
                            var fedManager = new FederationManager(application);
                            var owner = new SearchObjectOwner(SearchObjectLevel.SPSite, site.RootWeb);

                            query.SourceId = fedManager.GetSourceByName("NewsRS", owner).Id;
                            query.QueryText = string.Format("WorkflowStatusOWSCHCS:Approved PublishedUntilDate>=\"{0}\" OR NewsNewsPublishedDate<=\"{0}\"", DateTime.Now);
                            query.KeywordInclusion = KeywordInclusion.AllKeywords;
                            query.RowLimit = 5;
                            query.StartRow = 1;
                            query.SelectProperties.Add("NewsFriendlyUrl");
                            query.SelectProperties.Add("NewsNewsTeaser");
                            query.SelectProperties.Add("NewsNewsDate");
                            query.SelectProperties.Add("NewsPublishedUntilDate");
                            query.SelectProperties.Add("NewsNewsContent");
                            query.SelectProperties.Add("NewsNewsPublishedDate");
                            query.SelectProperties.Add("NewsNewsImage");
                            query.SortList.Add("NewsNewsDate", SortDirection.Descending);
                            var searchExecutor = new SearchExecutor();
                            var myResults = searchExecutor.ExecuteQuery(query);
}
}   

... the NewsNewsDate is marked as Sortable

Was it helpful?

Solution

query.RowLimit = 5; => You are explicitly specifying the Rowlimit to be 5. That is why it returns the first 5 results always. Change the rowlimit and set it to the number of results you need.

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