intra-mart Accel Platform IM-ContentsSearch for IM-Knowledge 仕様書 初版 2018-12-01

3. 共通仕様

この章では、IM-Knowledgeの各ナレッジコンテンツの全文検索機能における共通的な仕様について説明します。

3.1. クローラ

IM-Knowledgeのクローラはジョブスケジューラ機能のジョブとしてナレッジコンテンツの種別ごとにジョブを提供しています。
それぞれのジョブはテナント環境セットアップ時に「IM-ContentsSearchクローラ」ジョブカテゴリ(カテゴリID : crawler-job-category)に登録されます。
ナレッジコンテンツ種別 ジョブ名 ジョブID
IM-Wiki Wikiページクローラ wiki-crawler
IM-Spreadsheet ワークブッククローラ spreadsheet-crawler

上記のジョブは標準で以下のジョブネットに追加されます。

ジョブネット名 ジョブネットID
差分クローリング crawler-delta-jobnet
削除クローリング crawler-delete-jobnet
再作成クローリング crawler-reindex-jobnet

3.1.1. 差分クローリング

差分クローリングのジョブネットが実行されたとき、各ナレッジコンテンツのクローラの差分クローリングが実行されます。

差分クローリング実行時の実行パラメータ

差分クローリング実行時には差分クローリングのジョブネット、および各クローラのジョブ情報に設定されている以下の実行パラメータが利用されます。

キー 説明
crawlingType クローラの動作タイプを設定します。”DELTA”である場合のみ差分クローリングが動作します。
groupName 処理対象とする検索サーバグループIDを指定します。
maxSegments 最適化の度合いを設定します。
updateCount Solrサーバへのコミット1回あたりに登録するコンテンツの件数
withCommit 処理終了時に更新データを確定するかを設定します。
withOptimize 処理終了時にデータの最適化をするかを設定します。

注意

updateCountの数値が大きい場合、Solrサーバへのコミット1回あたりに登録するコンテンツの件数が増加するため、Solrサーバへの負荷が高くなりパフォーマンスに影響があります。

3.1.2. 削除クローリング

削除クローリングのジョブネットが実行されたとき、各ナレッジコンテンツのクローラのインデックス削除処理が実行されます。

削除クローリング実行時の実行パラメータ

削除クローリング実行時には削除クローリングのジョブネット、および各クローラのジョブ情報に設定されている以下の実行パラメータが利用されます。

キー 説明
crawlingType クローラの動作タイプを設定します。”DELETE”である場合のみ削除処理は動作します。
groupName 処理対象とする検索サーバグループIDを指定します。
maxSegments 最適化の度合いを設定します。
withCommit 処理終了時に更新データを確定するかを設定します。
withOptimize 処理終了時にデータの最適化をするかを設定します。

3.1.3. 再作成クローリング

再作成クローリングのジョブネットが実行されたとき、各ナレッジコンテンツのクローラの再作成処理が実行されます。

再作成クローリング実行時の実行パラメータ

再作成クローリング実行時には再作成クローリングのジョブネット、および各クローラのジョブ情報に設定されている以下の実行パラメータが利用されます。

キー 説明
crawlingType クローラの動作タイプを設定します。”REINDEX”である場合のみ再作成クローリングが動作します。
groupName 処理対象とする検索サーバグループIDを指定します。
maxSegments 最適化の度合いを設定します。
updateCount Solrサーバへのコミット1回あたりに登録するコンテンツの件数
withCommit 処理終了時に更新データを確定するかを設定します。
withOptimize 処理終了時にデータの最適化をするかを設定します。

注意

updateCountの数値が大きい場合、Solrサーバへのコミット1回あたりに登録するコンテンツの件数が増加するため、Solrサーバへの負荷が高くなりパフォーマンスに影響があります。

3.1.4. 最終クロール日時

クローラでは、処理が正常終了した場合にクローラの最終実行日時をファイルに保存します。
差分クローリング実行時にはこのファイルを参照し、前回の実行日時より後にコンテンツの登録・更新対象となったスレッドを抽出します。
日時のフォーマットは “yyyy-MM-dd HH:mm:ss” です。
最終クロール日時を保存するファイルは、クローラジョブの初回正常終了時にPublicStorageに保存されます。
削除クローリングが実行された場合、最終クロール日時は “1970-01-01 00:00:00” に初期化されて保存されます。
ファイルの保存先はクローラごとに異なります。

初回実行時の動作仕様

初期状態の場合、最終クロール日時を保存するファイルは存在していません。
この場合、既定値として”1970年1月1日0時0分0秒”を最終クロール日時として動作する仕様です。
初回実行時の対象日時を明示的に指定したい場合は、上記ファイルを作成して対象日時を上記の日時フォーマットにて設定してください。

3.2. ファセット

各ナレッジコンテンツのクローラでは、作成されたすべてのコンテンツに対して「Knowledge」というファセットを適用します。
その他のファセットは各ナレッジコンテンツの種類ごとに適用されます。各ナレッジコンテンツのクローラが適用するファセットについては、各機能の「ファセット」の項を参照してください。

3.3. 閲覧可能権限

3.3.1. 全文検索時の閲覧権限

各ナレッジコンテンツのクローラはジョブ実行日時の時点での権限を判定し、コンテンツに対して閲覧権限を適用します。
全文検索で閲覧可能なコンテンツはナレッジグループの認可設定の権限で判定されます。
Solrサーバに保存されるインデックスにはナレッジグループに設定されている認可の詳細な設定は保持しておらず、全文検索に表示されるかどうかの判定はインデックスに保存されているナレッジグループと、検索したユーザが閲覧可能なナレッジグループを比較して全文検索の閲覧権限を判定しています。
従って、ナレッジコンテンツのナレッジグループを別のナレッジグループに変更した場合は再度クローリングする必要がありますが、ナレッジグループに設定されている認可設定を変更した場合のみでは再度クローリングを実行する必要はありません。

3.3.2. 各ナレッジコンテンツの閲覧権限

検索結果に表示されたコンテンツの画面表示・処理を行うことができるかどうかはIM-Knowledgeのナレッジグループの認可設定の権限で判定されます。