質問

誰でも私を正しい方向に向けて、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"://ページライブラリ を表す

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top