0

我有一个要求,我想以编程方式获取搜索结果。为此,我使用 KeyWordQuery 以编程方式进行搜索。但是在这里我得到的结果比默认的 SharePoint 搜索要少,它从结果中省略了一些记录。

这是我正在使用的代码

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

如果我在共享点搜索结果页面中得到 100 个结果,使用相同的查询文本,我得到 96-97 个结果。有人可以帮我弄这个吗

4

1 回答 1

0

您是否尝试过“objkeywordquery.EnableStemming = true;” ?

看起来默认的 SharePoint 搜索已启用;我们有一个类似的问题,这解决了它。

希望能帮助到你。

文森特

于 2014-03-11T01:52:18.340 回答