Domanda

Qualcuno può indirizzarmi nella giusta direzione della ricerca della libreria Pages utilizzando Fulltextsqlquery?Ho istanziato con successo una nuova fulltextsqlquery e ho affrontato tutte le proprietà necessarie.Recupera i dati solo bene, ma poiché la mia query è:

Seleziona il titolo da Scope ()

Semplicemente per me per testare che funziona.Come faccio a perfezionare per aggiungere un dove una clausola per cercare solo la libreria di pagine?

È stato utile?

Soluzione

Se stai interrogando più raccolte siti Utilizzare FullTextSQLQuery poiché cerca in tutta la fattoria e se si prevede di interrogare la libreria di pagine di una raccolta singola, utilizzare invece SPSiteDataQuery.Penso che potresti aver bisogno di 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 potrebbe non essere sempre restituire i dati più freschi, ma è possibile ridurre la pianificazione del crawl incrementale a 15 minuti o 30 minuti.

Aggiornamento:

Imposta la proprietà queryText del tuo oggetto FullTextSQLQuery come questa:

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

"sts_list_850": // denota una libreria di pagine

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top