2017-06-28 11 views
0

SharePoint Onlineでドキュメントライブラリのカスタムスマート検索インデックスを設定しようとしています。ドキュメントライブラリ内のすべてのファイルをインデックスに登録するにはどうすればよいですか?Kentico smartsearchとsharepoint online

ISharepointListService にはGetListItemsメソッドがありますが、ISharePointFileServiceはありません。

EX:(データセット結果=のlistService.GetListItems(リスト名))

Iは各文書索引を介してコンテンツ、ドキュメントライブラリの列からメタデータを反復する必要があります。

アイデア?

答えて

0

SharePointクライアントサイドオブジェクトライブラリ(CSOM)の使用を検討しましたか? Kenticoプロジェクトで使いやすい.NETアセンブリバージョンがあります。ドキュメントライブラリアイテムのメタデータのインデックスを作成する場合は、GetListItemsメソッドの場合と同様に、各リストアイテムを読み取る必要があります。また、CSOMライブラリを使用してリスト項目を取得することもできます。

https://dev.office.com/sharepoint/docs/sp-add-ins/complete-basic-operations-using-sharepoint-client-library-code

しかし、あなたはまた、インデックスにコンテンツをしたい:サンプルは、ここでは、「SharePointリストから項目を取得」、あります。これは、各ファイルを一時的な場所にダウンロードし、その内容を抽出する必要があることを意味します。 CSOMリスト項目からファイルパスを取得するには、FileRefプロパティを使用します。ファイルをダウンロードした後、コンテンツを抽出する必要があります。これを試したことはありませんが、SearchTextExtractorManager.ExtractDataメソッドを使用して調べてみましょう。これが機能する場合は、SharePointリストアイテムのメタデータとExtractDataのコンテンツを取得します。次に、SmartSearch(Lucene)インデックスにドキュメントを追加することができます。

もっと簡単な解決法は、連合検索アプローチを使用することです。カスタムのSmartSearchインデックスを作成する代わりに、SharePointの検索APIを呼び出すことで検索を実行することができ、その結果をKenticoの結果の横にある同じ検索ページに表示することができます。

https://dev.office.com/sharepoint/docs/general-development/sharepoint-search-rest-api-overview

マイク

関連する問題