Vertex AI Searchのデータストアにウェブサイトの高度なインデックス登録を利用した場合、データストアのインデックスは自動で更新されます。
ドキュメントには数週間ごとに更新とありますが、これを早めたい場合は手動での更新が可能なので試してみました。
ドキュメントに記載のようにAPIを呼び出すことで実行できます。
Cloud Shellから実行してみました。
まずはAPIを呼び出すための認証情報を取得。
ACCESS_TOKEN=$(gcloud auth application-default print-access-token)
データストアの詳細画面からデータストアのIDを取得します。
プロジェクトID、データストアID、インデックスに登録したいURL(複数可)を設定してAPIを呼び出します。
curl -X POST \ -H "Authorization: Bearer $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/[DATA_STORE_ID]/siteSearchEngine:recrawlUris" \ -d '{ "uris": ["https://www.example.com/new_page.html"] }'
リクエストが成功すると下記のようなレスポンスが返ってきます。
{ "name": "projects/[PROJECT_ID]/locations/global/collections/default_collection/dataStores/[DATA_STORE_ID]/operations/recrawl-uris-9899135540190946955", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata" } }
この情報を使ってインデックス登録の進捗を確認することができます。
nameフィールドの値をセットしてこちらのAPIを呼び出します。
curl -X GET \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: [PROJECT_ID]" \ "https://discoveryengine.googleapis.com/v1alpha/[nameキーの直]"
pendingCountが1なので1つのドキュメントをクロール中であることがわかります。
{ "name": "projects/[PROJECT_ID]/locations/global/collections/default_collection/dataStores/[DATA_STORE_ID]/operations/recrawl-uris-9899135540190946955", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata", "createTime": "2024-02-15T09:04:53.360204Z", "updateTime": "2024-02-15T09:09:53.602732Z", "validUrisCount": 1, "pendingCount": 1 } }
インデックス登録が成功するとsuccessCountのフィールドが返されます。
だいたい20分ほどかかりました。
{ "name": "projects/[PROJECT_ID]/locations/global/collections/default_collection/dataStores/[DATA_STORE_ID]/operations/recrawl-uris-9899135540190946955", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisMetadata", "createTime": "2024-02-15T09:04:53.360204Z", "updateTime": "2024-02-15T09:24:54.165066Z", "validUrisCount": 1, "successCount": 1 }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.RecrawlUrisResponse" } }
これで検索プレビューからインデックス追加したページが検索できるようになります。
こちらの記事も合わせてご覧ください。