La ricerca di SharePoint Parole chiave restituisce meno risultati rispetto a Default SharePoint Search

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/90261

  •  10-12-2019
  •  | 
  •  

Domanda

Ho un requisito in cui voglio ottenere i risultati della ricerca a livello di programmazione.Per questo sto usando la parola chiave per cercare a livello di programmazione.Ma qui sto ottenendo meno risultati che Default SharePoint Search, sta omettendo alcuni record dai risultati.

Ecco il codice che sto usando

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

F I Ottieni 100 risultati nella pagina Reinsori di ricerca SharePoint, con lo stesso queryText ottengo 96-97 risultati.Qualcuno può aiutarmi con questo

È stato utile?

Soluzione

Try setting TrimDuplicates = false; http://msdn.microsoft.com/en-us/library/microsoft.office.server.search.query.query.trimduplicates.aspx

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;
objkeyworkquery.TrimDuplicates = false;
objkeywordquery.RowLimit = 5000
ResultTableCollection queryResults = objkeywordquery.Execute();
ResultTable queryResultsTable = queryResults[ResultType.RelevantResults];

DataTable queryDataTable = new DataTable();

queryDataTable.Load(queryResultsTable, LoadOption.OverwriteChanges);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top