SharePoint のクロール対象サイトの絞り込み設定

以下を参考に OneDriveDataStore を使用して SharePoint のクロールの設定を行っております。

クロールする SharePoint のサイト を https ://xxx.sharepoint.com/sites/yyy に 絞り込みたいので、OneDrive クロール対象の指定 を参考に include_pattern をパラメーターに追加して設定を行っているのですが、「No crawling target urls.」とログに出てきて、対象のサイトをクロールすることができせん。

対象のサイトを絞り込むことを実現するために、初歩的な内容で恐れ入りますが質問させてください。

  1. include_pattern で様々な正規表現を試してみましたが、間違っておりますでしょうか。

<試したもの> ※エスケープ後のスペースはここに投稿するためあえて追加しております。実際のFESSの画面設定時にはありません。
https\ :/\ /xxx.sharepoint.com\ /sites\ /yyy\ /*
https\ :/\ /xxx.sharepoint.com\ /sites\ /yyy\ /.*
https ://xxx\ .sharepoint\ .com/sites/yyy/.*

2.tenant,client_id,client_secret以外に何も指定しない場合は、テナント内すべてのサイトが対象になるということで正しいでしょうか。

3.パラメーターを記載する順序は絞り込みに影響しますか?(include_pattern/exclude_pattern を書く順序でどちらが優先になるかなどありますか?)

fess-crawler.logでクロールしているURLなどを確認して、Javaの正規表現でマッチするように修正してください。期待通りに適用されていない場合は、広めの正規表現で確認するなどで原因を絞り込んでいくのが良いと思います。
特に指定しなければ、渡されたテナント情報で取得できるものを取得していると思います。
include_patternで書いたものが優先されます。

ご返答いただき、誠にありがとうございます。正規表現の件は解消し、クロールが成功することがまず確認できました。

ジョブのログを確認したところ、include_pattern でサイトを絞り込むような設定した場合に、ターゲットのサイト以外もテナント内のコンテンツを1つ1つ検索しinclude_pattern に合致するかどうかを判定しておりました。結果として、ジョブ完了まで時間がかかっている状況です。
処理時間短縮のため、全サイトを検索させることなく対象のサイト1つに絞ってクロールの対象にさせるということは実現できますでしょうか。

もう一点、INCLUDE_PATTERN/EXCLUDE_PATTERN 以外の各パラメーターの定義をご教授いただけないでしょうか。

MAX_CONTENT_LENGTH
IGNORE_FOLDER
SUPPORTED_MIMETYPES
URL_FILTER
DRIVE_ID
DEFAULT_PERMISSIONS
NUMBER_OF_THREADS
SHARED_DOCUMENTS_DRIVE_CRAWLER
USER_DRIVE_CRAWLER
GROUP_DRIVE_CRAWLER

〜_cralwer=true|falseで指定したり、drive_idで指定できる範囲でしか、対象を絞ることはできないと思います。

各パラメーターについては、特にまとめてあるものはないので、OneDriveDataStoreを参照していただくか、商用サポートに相談していただくしかないと思います。

1 Like

drive_id を指定することで実現できました。大変助かりました。ありがとうございます。