FullTextSqlQueryを使用したページライブラリの検索
-
09-12-2019 - |
質問
誰でも私を正しい方向に向けて、FullTextSqlQueryを使用してページライブラリを検索してください。私は新しいFullTextSqlQueryをインスタンス化し、必要なプロパティすべてに対処しました。データを細かく取得しますが、クエリが表示されるため、
Scope()からタイトルを選択()
それは働いていることをテストするために私のために。Pagesライブラリーのみを検索する句を追加するには、これを絞り込む方法を検索しますか?
解決
複数のサイトコレクションを照会している場合、FullTextSQLQuery
を使用する場合は、ファームを検索し、単一のサイトコレクションのページライブラリ照会を照会する場合は、代わりにSPSiteDataQuery
を使用してください。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
は必ずしも最新のデータを返すとは限りませんが、増分クロールスケジュールを15分または30分に短縮できます。
更新:
FullTextSQLQuery
オブジェクトのQueryTextプロパティを次のように設定します。
.
fullTextSqlQuery.QueryText =
"select title, ContentClass from scope() where (contentclass = 'STS_List_850')";
"sts_list_850"://ページライブラリ を表す
所属していません sharepoint.stackexchange