Question

Quelqu'un peut-il m'indiquer la bonne direction pour rechercher dans la bibliothèque Pages à l'aide de FullTextSqlQuery ?J'ai réussi à créer une instance d'un nouveau FullTextSqlQuery et à gérer toutes les propriétés nécessaires.Il récupère très bien les données, mais dans l'état actuel des choses, ma requête est la suivante :

SELECT Titre FROM Portée()

Simplement pour moi de tester ça marche.Comment puis-je affiner cela pour ajouter une clause Where a pour rechercher uniquement la bibliothèque Pages ?

Était-ce utile?

La solution

Si vous interrogez plusieurs collections de sites, utilisez FullTextSQLQuery puisqu'il effectue une recherche dans toute la batterie de serveurs et si vous envisagez d'interroger la bibliothèque de pages d'une seule collection de sites, utilisez SPSiteDataQuery plutôt.Je pense que tu pourrais avoir besoin SPSiteDataQuery?

    SPSiteDataQuery queryObj = new SPSiteDataQuery();      
    //query Pages libraries
    queryObj.Lists = "<Lists ServerTemplate='850' />"; 
    queryObj.ViewFields = "<FieldRef Name='Title' /><FieldRef Name='FileRef' />";
    queryObj.Webs = "<Webs Scope='Recursive' />";
    DataTable dt = SPContext.Current.Web.GetSiteData(query);

    foreach (DataRow row in dt.Rows)
    {
        //do something else
    }

P.S. FullTextSqlQuery Il se peut que les données les plus récentes ne soient pas toujours renvoyées, mais vous pouvez réduire la planification d'analyse incrémentielle à 15 ou 30 minutes.

Mise à jour:

Définissez la propriété QueryText de votre FullTextSQLQuery objet comme ceci :

fullTextSqlQuery.QueryText =
"select title, ContentClass from scope() where (contentclass = 'STS_List_850')";

"STS_List_850" :// désigne une bibliothèque de pages

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top