public abstract class BaseCrawlingJob extends BaseJob
全文検索サーバの更新処理には分散トランザクションの概念がないため、すべてのクローラジョブは直列で実行される必要があります。
複数のクローラジョブを実行する場合には可能な限り同一のジョブネットに登録し、そのジョブネットを同時実行禁止に設定して下さい。
複数クローラジョブが登録されたジョブネットを利用する場合、プロパティの「最適化実施フラグ」をfalseとし、
ジョブネットの最後に最適化専用のジョブ(OptmizeJob
)を実行する事が推奨されます。
JobSchedulerContext
からパラメータを取得するためのユーティリティメソッドが用意されています。
プロパティの設定値については、以下の通りです。
プロパティ:
プロパティ名 | キー | デフォルト値 | 備考 |
---|---|---|---|
クローリングタイプ | crawlingType | "DELTA" | クローラの動作タイプを設定します。 動作タイプの種別は CrawlingType にて定義されています。 |
コミット実施フラグ | withCommit | true | 処理終了時に更新データを確定するかを設定します。 |
最適化実施フラグ | withOptimize | false | 処理終了時にデータの最適化をするかを設定します。 最適化処理は負荷が高いため、複数クローラを実行する際はジョブネットの最後に OptimizeJob を設定することを推奨します。 |
最大セグメント数 | maxSegments | 1 | 最適化の度合いを設定します。 1に近づくほど強い最適化を行いますが、処理の所要時間が伸びます。 |
検索サーバグループ名 | groupName | "default" | 処理対象とする検索サーバグループIDを指定します。 通常はデフォルト値から変更する必要はありません。 |
修飾子とタイプ | フィールドと説明 |
---|---|
protected static String |
DEFAULT_GROUP_NAME
プロパティ[検索サーバグループ名]のキー値です。
|
protected static int |
DEFAULT_MAX_SEGMENTS
プロパティ[最大セグメント数]の初期値です。
|
protected static boolean |
DEFAULT_WITH_COMMIT
プロパティ[コミット実施フラグ]の初期値です。
|
protected static boolean |
DEFAULT_WITH_OPTIMIZE
プロパティ[最適化実施フラグ]の初期値です。
|
protected String |
groupName
検索サーバグループID
|
protected static String |
KEY_CRAWLING_TYPE
プロパティ[クローリングタイプ]のキー値です。
|
protected static String |
KEY_GROUP_NAME
プロパティ[検索サーバグループ名]のキー値です。
|
protected static String |
KEY_MAX_SEGMENTS
プロパティ[最大セグメント数]のキー値です。
|
protected static String |
KEY_WITH_COMMIT
プロパティ[コミット実施フラグ]のキー値です。
|
protected static String |
KEY_WITH_OPTIMIZE
プロパティ[最適化実施フラグ]のキー値です。
|
コンストラクタと説明 |
---|
BaseCrawlingJob() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected void |
commit(UpdateService updateService)
コンテンツの削除・更新を確定します。
|
JobResult |
execute()
クローリング処理を実行します。
|
protected void |
executeDelete(UpdateService updateService)
コンテンツの削除処理を実装します。
|
protected abstract void |
executeDelta(UpdateService updateService)
コンテンツの作成(差分作成)処理を実装します。
|
protected void |
executeReindex(UpdateService updateService)
コンテンツの再作成処理を実装します。
|
protected CrawlingType |
getCrawlingType()
ジョブパラメータからクローリングタイプを取得します。
|
protected String |
getGroupName()
ジョブパラメータから検索サーバグループ名を取得します。
|
protected String |
getTenantId()
アカウントコンテキストからテナントIDを取得します。
|
protected abstract String |
getType()
コンテンツタイプを表す文字列を返します。
|
protected UpdateService |
getUpdateService()
更新サービスを取得します。
|
protected void |
initialize()
クローラの初期化処理を行います。
|
protected void |
optimize(UpdateService updateService)
登録済みコンテンツの最適化処理を行います。
|
canParseToBoolean, getJobContext, getParameter, getParameter, getParameterAsBoolean, getParameterAsBoolean, getParameterAsInteger, getParameterAsInteger
protected static final String KEY_CRAWLING_TYPE
protected static final String KEY_WITH_COMMIT
protected static final String KEY_WITH_OPTIMIZE
protected static final String KEY_MAX_SEGMENTS
protected static final boolean DEFAULT_WITH_COMMIT
protected static final boolean DEFAULT_WITH_OPTIMIZE
protected static final String DEFAULT_GROUP_NAME
protected static final int DEFAULT_MAX_SEGMENTS
protected String groupName
public JobResult execute() throws JobExecuteException
execute
インタフェース内 Job
execute
クラス内 BaseJob
JobExecuteException
- ジョブ実行中に例外がスローされた場合、 実行処理の結果がエラーとして扱います。メッセージにはスローされた例外のローカライズメッセージが使用されます。BaseJob.execute()
protected void initialize() throws JobExecuteException
JobExecuteException
- 初期化処理に失敗した場合protected abstract String getType()
protected abstract void executeDelta(UpdateService updateService) throws JobExecuteException
updateService
- 更新サービスJobExecuteException
- コンテンツ作成処理に失敗した場合protected void executeDelete(UpdateService updateService) throws JobExecuteException
getType()
メソッドから取得したコンテンツタイプと同じタイプのコンテンツを全て削除します。@Override protected void executeDelete(final UpdateService updateService) throws JobExecuteException { // コンテンツの削除 super.executeDelete(updateService); // 外部データの削除 ... }
updateService
- 更新サービスJobExecuteException
- コンテンツ削除処理に失敗した場合protected void executeReindex(UpdateService updateService) throws JobExecuteException
executeDelete(UpdateService)
の実行後にexecuteDelta(UpdateService)
を実行します。updateService
- 更新サービスJobExecuteException
- コンテンツ再作成処理に失敗した場合protected void commit(UpdateService updateService) throws ContentsSearchExecutionException
updateService
- 更新サービスContentsSearchExecutionException
- コミットに失敗した場合protected void optimize(UpdateService updateService) throws ContentsSearchExecutionException
updateService
- 更新サービスContentsSearchExecutionException
- 最適化に失敗した場合protected String getGroupName()
protected UpdateService getUpdateService() throws JobExecuteException
JobExecuteException
- 更新サービスの初期化に失敗した場合protected String getTenantId()
protected CrawlingType getCrawlingType() throws InvalidParameterException
InvalidParameterException
- パラメータにクローリングタイプに変換出来ない値が設定されていた場合Copyright © 2012 NTT DATA INTRAMART CORPORATION