重新整理結構化和非結構化資料

本頁面說明如何重新整理結構化非結構化資料。

如要重新整理網站應用程式,請參閱「重新整理網頁」。

重新整理結構化資料

只要使用的結構定義與資料儲存庫中的結構定義相同或回溯相容,即可重新整理結構化資料儲存庫中的資料。舉例來說,在現有結構定義中只新增欄位,就具有回溯相容性。

您可以在 Google Cloud 控制台或使用 API 重新整理結構化資料。

控制台

如要使用 Google Cloud 控制台,從資料儲存庫的分支版本重新整理結構化資料,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「AI Applications」頁面。

    AI 應用程式

  2. 點按導覽選單中的「Data Stores」(資料儲存庫)

  3. 在「名稱」欄中,按一下要編輯的資料儲存庫。

  4. 在「文件」分頁中,按一下「匯入資料」

  5. 如要從 Cloud Storage 重新整理:

    1. 在「Select a data source」(選取資料來源) 窗格中,選取「Cloud Storage」
    2. 在「Import data from Cloud Storage」(從 Cloud Storage 匯入資料) 窗格中,按一下「Browse」(瀏覽),選取包含重新整理資料的值區,然後按一下「Select」(選取)。或者,您也可以直接在「gs://」欄位中輸入 bucket 位置。
    3. 在「資料匯入選項」下方,選取匯入選項。
    4. 按一下「匯入」
  6. 如要重新整理 BigQuery 資料,請按照下列步驟操作:

    1. 在「選取資料來源」窗格中,選取「BigQuery」
    2. 在「Import data from BigQuery」(從 BigQuery 匯入資料) 窗格中,按一下「Browse」(瀏覽),選取包含重新整理資料的資料表,然後按一下「Select」(選取)。或者,直接在「BigQuery 路徑」欄位中輸入資料表位置。
    3. 在「資料匯入選項」下方,選取匯入選項。
    4. 按一下「匯入」

REST

使用 documents.import 方法重新整理資料,並指定適當的 reconciliationMode 值。

如要使用指令列從 BigQuery 或 Cloud Storage 重新整理結構化資料,請按照下列步驟操作:

  1. 找出資料儲存庫 ID。如果已有資料儲存庫 ID,請跳到下一個步驟。

    1. 前往 Google Cloud 控制台的「AI Applications」頁面,然後點按導覽選單中的「Data Stores」(資料儲存庫)

      前往「Data Stores」頁面

    2. 點按資料儲存庫的名稱。

    3. 在資料儲存庫的「資料」頁面中,取得資料儲存庫 ID。

  2. 如要從 BigQuery 匯入結構化資料,請呼叫下列方法。您可以從 BigQuery 或 Cloud Storage 匯入。如要從 Cloud Storage 匯入,請跳至下一個步驟。

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \
    -d '{
      "bigquerySource": {
        "projectId": "PROJECT_ID",
        "datasetId":"DATASET_ID",
        "tableId": "TABLE_ID",
        "dataSchema": "DATA_SCHEMA_BQ",
      },
      "reconciliationMode": "RECONCILIATION_MODE",
      "autoGenerateIds": AUTO_GENERATE_IDS,
      "idField": "ID_FIELD",
      "errorConfig": {
        "gcsPrefix": "ERROR_DIRECTORY"
      }
    }'
    

    更改下列內容:

    • PROJECT_ID:專案的 ID。 Google Cloud
    • DATA_STORE_ID:Agent Search 資料儲存庫的 ID。
    • DATASET_ID:BigQuery 資料集的名稱。
    • TABLE_ID:BigQuery 資料表的名稱。
    • DATA_SCHEMA_BQ:選用欄位,用於指定從 BigQuery 來源剖析資料時要使用的結構定義。可能具有下列值:
      • document:預設值。您使用的 BigQuery 資料表必須符合下列預設 BigQuery 結構定義。您可以自行定義每份文件的 ID,同時將整個資料包裝在 json_data 字串中。
      • custom:系統接受任何 BigQuery 資料表結構定義,且 Agent Search 會自動為匯入的每份文件產生 ID。
    • ERROR_DIRECTORY:選用欄位,可指定 Cloud Storage 目錄來存放匯入作業的錯誤資訊,例如 gs://<your-gcs-bucket>/directory/import_errors。Google 建議將這個欄位留空,讓 Agent Search 自動建立暫時目錄。
    • RECONCILIATION_MODE:選用欄位,用於指定如何將匯入的文件與目標資料儲存庫中的現有文件進行比對。可能具有下列值:
      • INCREMENTAL:預設值。從 BigQuery 增量重新整理資料至資料儲存庫。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。
      • FULL:導致資料儲存庫中的文件完全重新建立基準。因此,新文件和更新的文件會新增至資料儲存庫,而不在 BigQuery 中的文件則會從資料儲存庫移除。如果您想自動刪除不再需要的檔案,可以選擇 FULL 模式。
    • AUTO_GENERATE_IDS:選填欄位,用於指定是否自動產生文件 ID。如果設為 true,系統會根據酬載的雜湊值產生文件 ID。請注意,產生的文件 ID 在多次匯入時可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將 reconciliationMode 設為 FULL,以維持文件 ID 的一致性。

      只有在 bigquerySource.dataSchema 設為