Pergunta

Alguém pode por favor me aponte na direção certa de procurar a biblioteca de Páginas usando FullTextSqlQuery?Eu fui bem sucedida instanced um novo FullTextSqlQuery e tenho lidado com todas as propriedades necessárias.Ele recupera dados apenas bom, mas como fica a minha pergunta é:

SELECIONE o Título DO Escopo()

Simplesmente para me testar se está funcionando.Como faço para refinar o procedimento para adicionar uma cláusula de procurar apenas a biblioteca de Páginas?

Foi útil?

Solução

Se você está consultando vários Conjuntos de usar FullTextSQLQuery desde que ele procura em todo o farm e se o plano de consulta Biblioteca de Páginas de um único conjunto de Sites, use SPSiteDataQuery em vez disso.Eu acho que você pode precisar 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 não pode sempre voltar a frescura dos dados, mas você pode reduzir o agendamento de rastreamento incremental para 15 minutos ou 30 minutos.

Atualização:

Definir o QueryText propriedade dos seus FullTextSQLQuery objeto como este:

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

"STS_List_850":// denota uma Página de Biblioteca

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top