0

I have a requirement in which I want to get the search results programmatically. For this I am using KeyWordQuery to search programmatically. But here I am getting less results that default SharePoint search, it is omitting some records from the results.

Here is the code I am using

        SPSite site = SPContext.Current.Site;
        KeywordQuery objkeywordquery = new KeywordQuery(site);
        objkeywordquery.QueryText = strQuery;
        objkeywordquery.SelectProperties.Add("Title");
        objkeywordquery.SelectProperties.Add("Path");

        objkeywordquery.ResultsProvider = SearchProvider.Default;
        objkeywordquery.ResultTypes = ResultType.RelevantResults;
        objkeywordquery.RowLimit = 5000
        ResultTableCollection queryResults = objkeywordquery.Execute();
        ResultTable queryResultsTable = queryResults[ResultType.RelevantResults];

        DataTable queryDataTable = new DataTable();

        queryDataTable.Load(queryResultsTable, LoadOption.OverwriteChanges);

If I get 100 results in sharepoint search reults page, with the same querytext I get 96-97 results. Can someone help me with this

Vinod
  • 49
  • 1
  • 3
  • 8
  • Reolved now.had to set TrimDuplicates to False. objkeyworkquery.TrimDuplicates = false; – Vinod Feb 12 '14 at 10:43

1 Answers1

0

Have you tried "objkeywordquery.EnableStemming = true;" ?

Look like the default SharePoint search has it enabled; we had a similar issue and this resolved it.

Hope it helps.

Vincent

Vincent
  • 31
  • 1