Bonjour,
J'ai un soucis avec une personnalisation de recherche MOSS utilisant l'objet FullTextSqlQuery
Voici mon code objet (avec la requête sql définie dans "query"):
FullTextSqlQuery qry = new FullTextSqlQuery(this.serverctx);
qry.ResultTypes = ResultType.RelevantResults;
qry.TrimDuplicates = false;
qry.KeywordInclusion = KeywordInclusion.AnyKeyword;
qry.QueryText = query;
qry.RowLimit = 0; // j'ai également essayé de mettre un grand nombre comme 500 000 sans changement
qry.SiteContext = new Uri(SPContext.Current.Site.Url);
ResultTableCollection resultTbls;
resultTbls = qry.Execute();
Et voici ce que contient ma requête "query":
"SELECT TitleProperty, DepartementProperty, WorkPhoneProperty, OfficeProperty, PictureUrlProperty, AccountNameProperty, UrlProperty, FirstName, LastName, UniteProperty, PreferredName FROM Scope() WHERE \"Scope\"='Personnes' "
Jusque là tout va bien, il me retourne tous mes profils utilisateurs (165 profils).
Maintenant, je veux trier les résultats par ordre alphabétique avec la nouvelle requête (en rajoutant un Order By column):
"SELECT TitleProperty, DepartementProperty, WorkPhoneProperty, OfficeProperty, PictureUrlProperty, AccountNameProperty, UrlProperty, FirstName, LastName, UniteProperty, PreferredName FROM Scope() WHERE \"Scope\"='Personnes' Order By LastName, FirstName "
Et là ça ne va plus: il ne me retourne plus que les 100 premiers résultats et ignore les autres.
Je suis tombé par hasard sur les pages suivantes:
http://blogs.msdn.com/varun_malhotra/archive/2008/08/16/moss-search-with-order-by-clause-doesn-t-return-all-results.aspx
L'ajout de la clé dans le registre a pour effet de rajouter les profils ayant des Noms et Prénoms vides mais le nombre de résultats reste à 100 (du coup il y a de nouveaux résultats placés en premier mais qui remplacement les résultats qui débordent de la limite de 100)
Je suis également tombé sur la question:
http://social.technet.microsoft.com/Forums/en/sharepointsearch/thread/bcd9d2fb-d94e-45c9-893a-e1b18974a347
Mais je n'arrive pas à comprendre comment il a résolu son problème. Et de toute façon, je n'ai pas de CONTAINS dans ma requête.
Quelqu'un a-t-il déjà eu ce problème?
Merci :)