データストアでウェブサイトの高度なインデックス登録が有効になっている場合は、サイトマップを送信して使用することで、データストア内のウェブページをインデックスに登録して更新できます。この機能は、XML サイトマップとサイトマップ インデックスのみをサポートしています。
このページでは、サイトマップまたはサイトマップ インデックスを送信して、サイトマップベースのインデックス作成と更新をトリガーする方法について説明します。サイトマップを使用しない自動更新と手動更新について理解し、実装するには、ウェブページを更新するをご覧ください。
また、このページでは、データストア内のサイトマップを表示する方法や、サイトマップを削除する方法についても説明します。
サイトマップベースの更新のコンセプト
開始にあたって、以下の主要なコンセプトと用語をご確認ください。
サイトマップ プロトコル: Vertex AI Search がサポートするすべてのサイトマップとサイトマップ インデックスは、サイトマップ プロトコルに準拠する必要があります。
サイトマップ: サイトマップは UTF-8 エンコードの XML ファイルで、ウェブサイト内のウェブページとファイルの URL のリストと、ウェブページの最終更新日や、ウェブサイト内の他のウェブページに対するクロール対象ウェブページの優先度など、重要かつ任意の情報が含まれています。サイトマップ プロトコルでは、1 つのサイトマップに含めることができる URL は最大 50,000 件で、サイズは最大 50 MB です。
サイトマップ インデックス: サイトマップの URL の上限またはサイズの上限を超える場合は、複数のサイトマップを作成し、それらのサイトマップをサイトマップ インデックス ファイルに記載できます。サイトマップ プロトコルに基づき、1 つのサイトマップ インデックスにネストできるサイトマップの最大数は 50,000 個で、最大サイズは 50 MB です。
Vertex AI Search には、1 つ以上のサイトマップ、1 つ以上のサイトマップ インデックス、またはサイトマップとサイトマップ インデックスの組み合わせを送信できます。
Vertex AI Search データストアにサイトマップまたはサイトマップ インデックスを送信すると、次のアクションがトリガーされます。
データストア インデックスに含まれる URL のインデックス登録。
- サイトマップのみの更新の場合、このリストには、データストアに含まれる URL パターンに一致するサイトマップまたはサイトマップ インデックス内の URL のみが含まれます。
- 組み合わせの更新の場合、このリストには自動更新プロセスで検出されたすべての URL が含まれます。
これらの 2 つの更新プロセスの詳細については、ウェブサイト データストアの更新方法とサイトマップのみ更新をご覧ください。
含まれる URL の毎日の更新
ウェブサイトのデータストアの更新方法
サイトマップベースの更新をデータストアに組み込むには、次のいずれかの方法を選択します。
- サイトマップのみによる更新: 初期インデックス登録と自動更新をオフにして、サイトマップベースの更新のみを使用します。
- 組み合わせの更新: サイトマップベースの更新と初期インデックス登録と自動更新を使用します。
選択した更新方法に関係なく、データストア インデックス内の特定のウェブページはいつでも手動で更新できます。
サイトマップのみ更新
ウェブサイト データストアを作成するときに、データストアのインデックスに含めるウェブページの URL パターンを指定する必要があります。デフォルトでは、ウェブサイト データストアの作成が完了すると、Vertex AI Search は、これらのウェブページの最初のインデックスを生成します。
ウェブサイトの高度なインデックス登録を使用するウェブサイト データストアの場合、初期インデックス登録プロセスは自動更新の一部です。最初のインデックス登録プロセスでは、Google 検索で使用可能なすべての URL がインデックスに登録されます。これらの URL の最初の鮮度は、Google 検索で利用できる鮮度を反映します。最初のインデックス登録後、自動更新プロセスは新しいページを検出してベスト エフォート方式で更新します。このプロセスでは、必要な範囲を超える URL が検出される可能性があるため、比較的古いページがインデックスに登録され、インデックスのサイズが大きくなる可能性があります。
代わりに、サイトマップのみの更新を行うこともできます。これは、次のような場合に便利です。
- 最新のサイトマップを適切に管理している。
- 大規模なウェブサイトがあり、インデックスに登録するウェブページをより厳密に制御する必要がある。これにより、よりシンプルで管理しやすいインデックスが作成されます。
- インデックスに登録されたページは毎日更新する必要があります。これにより、より新しいインデックスが作成されます。
次の表は、データストア インデックスを更新するさまざまな方法を比較したものです。
更新方法 | 適合率 | 手動介入 | 頻度 | 調査 |
---|---|---|---|---|
サイトマップベースの更新 | 正確です。サイトマップ内の URL のみをインデックスに登録します。 | サイトマップまたはサイトマップ インデックスの送信後は不要 | 毎日 | サイトマップで指定されている範囲を超えない。 |
手動更新(再クロール) | 正確です。再クロール リクエストで指定された URL のみをインデックスに登録します。 | 必須 | オンデマンド | いいえ。 |
自動更新 | 正確ではありません。データストアはベスト エフォート ベースで更新されます。 | 不要 | ランダムかつベスト エフォート ベース | はい。Google 検索で利用できる URL 以外の URL を検出します。 |
始める前に
サイトマップまたはサイトマップ インデックスを Vertex AI Search データストアに送信する前に、次の操作を行います。
- サイトマップ プロトコルに従って、ウェブサイトのすべてのサイトマップを参照する XML サイトマップまたはサイトマップ インデックスを作成します。
- サイトマップの作成の基本を理解します。詳細については、サイトマップベースの更新のコンセプトとサイトマップを作成して送信するをご覧ください。
- サイトマップまたはサイトマップ インデックスを Vertex AI Search データストアに送信するために、Google 検索に送信する必要はありません。
- インデックス登録するサイトマップの URL はすべて、データストアで確認済みの公開ドメインに属している必要があります。詳しくは、ウェブサイトのドメインを確認するをご覧ください。
- サイトマップ URI またはネストされたサイトマップ URI を含むサイトマップ インデックス URI は一般公開されている必要があります。
サイトマップまたはサイトマップ インデックスをデータストアに送信する
データストアに含まれるウェブページのインデックス登録と更新をトリガーする手順は次のとおりです。
サイトマップのみによる更新を行うか、他の方法と組み合わせて更新を行うかを決定します。
サイトマップのみ更新する場合は、この手順に沿って操作します。それ以外の場合は、次の手順に進みます。
初期インデックス登録と更新が完了した既存のデータストアは使用できません。
AdvancedSiteSearchConfig
構成を使用して初期インデックス作成と自動更新をオフにして、新しいデータストアを作成する必要があります。サイトマップの更新のみが有効になっているデータストアを作成します。これは、初期インデックスと自動更新をオフにすることで行われます。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:
PROJECT_ID " \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID /locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID &createAdvancedSiteSearch=true" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME ", "industryVertical": "GENERIC", "content_config": "PUBLIC_WEBSITE", "searchTier": "ENTERPRISE", "advancedSiteSearchConfig": { "disableInitialIndex": true, "disableAutomaticRefresh": true, } }'次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。 Google CloudDATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
レスポンス
次のような JSON レスポンスが返されます。
{ "name": "projects/
PROJECT_NUMBER /locations/global/collections/default_collection/operations/DATA_STORE_CREATION_OPERATION_ID ", "done": true }データストアに含めるサイトと除外するサイトの URL パターンを更新します。詳細については、ウェブサイト コンテンツを使用してデータストアを作成するをご覧ください。
データストアに含まれるウェブページのドメインを確認します。
サイトマップのみのリフレッシュと組み合わせのリフレッシュのどちらを選択する場合でも、
sitemaps.create
メソッドを使用して、サイトマップまたはサイトマップ インデックスの URI をデータストアに送信します。サイトマップまたはサイトマップ インデックスを送信します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project:
PROJECT_NUMBER " \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER /locations/global/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps?sitemap.uri=SITEMAP_URI "次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。 Google CloudDATA_STORE_ID
: Vertex AI Search データストアの ID。SITEMAP_URI
: 送信する個々のサイトマップまたはサイトマップ インデックスの公開 URI。サイトマップ インデックスを送信する場合は、サイトマップ インデックスの URI を送信するだけで十分です。Vertex AI Search は、サイトマップ インデックス内にネストされたすべてのサイトマップに含まれる URL を自動的にインデックスに登録します。
レスポンス
次のような JSON レスポンスが返されます。
done
キーの値がtrue
の場合、サイトマップの送信オペレーションが完了したことを示します。それ以外の場合、オペレーションは失敗しました。レスポンスには、送信されたサイトマップまたはサイトマップ インデックスを一意に識別するSITEMAP_ID
が含まれています。{ "done": true, "response": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.Sitemap", "name": "projects/
PROJECT_ID /locations/global/collections/default_collection/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps/SITEMAP_ID ", "uri": "SITEMAP_URI ", "createTime": "2024-11-11T16:22:30Z" } }サイトマップまたはサイトマップ インデックスをデータストアに送信すると、Vertex AI Search は次の処理をトリガーします。
- サイトマップ内の対象となる URL(データストアに含まれる URL)のインデックス登録。この処理には数時間かかることがあります。サイトマップが大きいほど、インデックスに登録されるまでに時間がかかることがあります。
- 対象となる URL のウェブページが毎日更新されます。
サイトマップまたはサイトマップ インデックスの変更が更新に与える影響については、サイトマップとサイトマップ インデックスの変更をご覧ください。
データストア内のサイトマップを表示します。
サイトマップとサイトマップ インデックスの変更
最初の送信後、Vertex AI Search はサイトマップまたはサイトマップ インデックスの変更を毎日検出し、次の方法でこれらの変更を処理します。
- サイトマップの変更:
- URL を追加する: データストアで指定された URL パターンに一致する URL がインデックスに追加され、日次で更新されます。
- URL を削除した場合: 削除された URL がインデックスに登録されている場合は、インデックスから削除され、更新されなくなります。
- 既存の URL を更新する場合(サイトマップの URL の
lastmod
フィールドを更新する場合など): データストアに含まれる URL パターンと一致する更新された URL はすべて更新されます。通常、更新後 24 時間以内に更新されます。
- サイトマップ インデックスの変更:
- サイトマップを追加すると、データストアで指定された URL パターンに一致する新しいサイトマップの URL がインデックスに追加され、毎日更新されます。
- サイトマップを削除すると、データストアに含まれる URL パターンに一致する URL は更新されなくなります。ただし、インデックスには引き続き残ります。サイトマップとその URL をインデックスから削除するには、サイトマップとその URL をインデックスから削除するをご覧ください。
データストア内のサイトマップとサイトマップ インデックスを一覧表示する
データストア内のすべてのサイトマップとサイトマップ インデックスを一覧表示するには、sitemaps.fetch
メソッドを使用します。サイトマップ インデックスを送信した場合、このメソッドは個々のネストされたサイトマップではなく、サイトマップ インデックスを返します。データストアにサイトマップがない場合、このリクエストは空の JSON ファイルを返します。
データストア内のサイトマップとサイトマップ インデックスを一覧表示します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project:PROJECT_ID " \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID /locations/global/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps:fetch"
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。 Google CloudDATA_STORE_ID
: Vertex AI Search データストアの ID。
レスポンス
次のような JSON レスポンスが返されます。特定のサイトマップ URI のサイトマップ名は一意であり、サイトマップを削除する際に必要になります。
{ "sitemapsMetadata": [ { "sitemap": { "name": "projects/PROJECT_ID /locations/global/collections/default_collection/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps/SITEMAP_ID ", "uri": "SITEMAP_URI " } } ] }
データストアにサイトマップまたはサイトマップ インデックスが存在するかどうかを確認する
データストアにサイトマップまたはサイトマップ インデックスが存在するかどうかを確認するには、sitemaps.fetch
メソッドを使用します。確認対象のサイトマップまたはサイトマップ インデックスがデータストアに送信されている場合、レスポンスにはサイトマップ名とサイトマップの URI が含まれます。サイトマップ インデックスを送信した場合、サイトマップ インデックス内の個々のサイトマップをチェックしても、正しい結果は返されません。
データストア内のサイトマップまたはサイトマップ インデックスを確認します。
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project:PROJECT_ID " \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID /locations/global/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps:fetch?matcher.uris_matcher.uris=SITEMAP_URI_1 &matcher.uris_matcher.uris=SITEMAP_URI_2 "
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。 Google CloudDATA_STORE_ID
: Vertex AI Search データストアの ID。SITEMAP_URI_N
: データストアにチェックインするサイトマップまたはサイトマップ インデックスの公開 URI。
レスポンス
次のような JSON レスポンスが返されます。このレスポンスは、データストアに存在するサイトマップのメタデータのみを返します。
{ "sitemapsMetadata": [ { "sitemap": { "name": "projects/PROJECT_ID /locations/global/collections/default_collection/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps/SITEMAP_ID_1 ", "uri": "SITEMAP_URI_1 " } } ] }
データストアからサイトマップまたはサイトマップ インデックスを削除する
データストアからサイトマップを削除するには、sitemap.delete
メソッドを使用します。サイトマップを削除しても、インデックスから URL が削除されることはありません。サイトマップとその URL をインデックスから削除するには、サイトマップとその URL をインデックスから削除するをご覧ください。
サイトマップまたはサイトマップ インデックスを削除します。
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project:PROJECT_ID " \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID /locations/global/collections/default_collection/dataStores/DATA_STORE_ID /siteSearchEngine/sitemaps/SITEMAP_ID "
次のように置き換えます。
PROJECT_ID
: プロジェクトの ID。 Google CloudDATA_STORE_ID
: Vertex AI Search データストアの ID。SITEMAP_ID
: サイトマップまたはサイトマップ インデックスを一意に識別する ID。この ID は、サイトマップまたはサイトマップ インデックスを送信したとき、またはデータストア内のサイトマップとサイトマップ インデックスを一覧表示したときのレスポンスの name フィールドで確認できます。
レスポンス
削除オペレーションが成功すると、次のような JSON レスポンスが返されます。
{ "done": true }
データストア インデックスからサイトマップまたはサイトマップ インデックスとその URL を削除する
サイトマップまたはサイトマップ インデックスとその URL をインデックスから削除する手順は次のとおりです。
データストアに送信されたサイトマップまたはサイトマップ インデックスの URL をすべて削除して、空にします。
サイトマップ インデックスをデータストアに送信した場合は、すべての URL を削除してネストされたサイトマップを空にし、サイトマップ インデックスからサイトマップを削除します。
Vertex AI Search がこれらの変更を処理し、データストアのインデックスから URL を削除するまで 48 時間待ちます。