AI Search は、検索できるようにコンテンツを自動でインデックスします。インデックスの動きは、データソースによって異なります。
Web サイト または R2 バケット に接続したインスタンスでは、AI Search がデータソースを同期するジョブを作成します。ジョブはスケジュールで自動実行され、デフォルトは 6 時間ごとです。新規、変更、削除されたファイルを処理し、検索インデックスを最新に保ちます。
ジョブの状態と履歴は、ダッシュボードの Jobs タブ、または Instances API で確認できます。
デフォルトでは、AI Search は 6 時間ごとに同期ジョブを実行します。スケジュール同期の間隔を変えるには、ダッシュボードの Sync interval 設定を使うか、Workers バインディングまたは REST API でインスタンスを 作成 または 更新 するときに sync_interval フィールドを設定します。
間隔は 1、2、4、6、12、24 時間です。API では sync_interval を秒で指定します。使える値は 3600(1 時間)、7200(2 時間)、14400(4 時間)、21600(6 時間、デフォルト)、43200(12 時間)、86400(24 時間)です。
同期ジョブは通常スケジュールで動きます。ソースコンテンツが変わったときに、プログラムから起動することもできます。CMS やコンテンツパイプラインと AI Search を繋ぐときに便利です。公開イベントやビルドステップが終わったら同期を起動すれば、次のスケジュール実行を待たずにインデックスへ反映できます。
同期ジョブは Wrangler CLI で起動します。CI/CD のステップやデプロイフックから実行する例です。
npx wrangler ai-search jobs create <INSTANCE_NAME>CMS の webhook や Worker から Create job REST API を呼ぶこともできます。同期ジョブの起動は、最短で 30 秒に 1 回です。
組み込みストレージ にアップロードしたファイルは、すぐにインデックスされます。同期ジョブはありません。各ファイルはアップロード時に個別処理されます。
| 操作 | 説明 |
|---|---|
| Trigger sync | 外部データソースの変更を走査する同期ジョブを手動で開始します。30 秒ごとに起動できます。 |
| Cancel job | 実行中の同期ジョブをキャンセルします。 |
| Pause indexing | スケジュール済みの同期ジョブを一時停止します。 |
| Resume indexing | スケジュール済みの同期ジョブを再開します。非アクティブで自動停止したジョブも含みます。 |
| Sync individual file | 特定のファイルを再インデックスします。 |
これらの操作は、ダッシュボード、REST API、または Workers バインディング から実行できます。
インデックス全体の所要時間は、ファイルの件数と種類に依存します。性能に影響する要因は次のとおりです。
- ファイルの総数とサイズ
- ファイル形式(例: 画像はプレーンテキストより時間がかかります)
- 埋め込みと画像処理に使う Workers AI モデルのレイテンシ
インスタンスが 31 日間検索リクエストを受け取らないと、AI Search はスケジュール済みの同期ジョブを自動で一時停止します。対象は 外部データソース(Web サイトまたは R2)だけです。組み込みストレージ には同期ジョブがありません。使っていないインスタンスに対して、データソースへ再走査や同期の不要なリクエストを送らないようにします。
一時停止中のインスタンスも検索はできます。同期ジョブが止まっている間は、ソース側の変更は取り込まれません。インスタンスが検索またはチャットのトラフィックを再び受け取ると、AI Search はアクティビティ確認のタイミングでスケジュール同期を自動再開します。Resume indexing 操作で手動再開もできます。操作 を参照してください。
インデックスを安定して進めるには、次を確認します。
- ファイルが サイズ上限 以内で、対応形式 であることを確認します。条件を満たさないファイルはスキップされます。
- R2 を使うインスタンスでは、サービス API トークン を有効なまま保ち、インデックス失敗を防ぎます。
- 古い、または不要なコンテンツを定期的に整理し、インスタンスの上限 内に収めます。