A pesquisa Biblioteca de Páginas usando FullTextSqlQuery
-
09-12-2019 - |
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?
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