Documents - Index

將檔寫入動作批次傳送至索引。

POST {endpoint}/indexes('{indexName}')/docs/search.index?api-version=2023-11-01

URI 參數

名稱 位於 必要 類型 Description
endpoint
path True

string

搜尋服務的端點 URL。

indexName
path True

string

索引的名稱。

api-version
query True

string

用戶端 API 版本。

要求標頭

名稱 必要 類型 Description
x-ms-client-request-id

string (uuid)

隨要求一起傳送的追蹤標識碼,以協助偵錯。

要求本文

名稱 必要 類型 Description
value True

IndexAction[]

批次中的動作。

回應

名稱 類型 Description
200 OK

IndexDocumentsResult

回應,其中包含批次中所有動作的作業狀態。

Other Status Codes

IndexDocumentsResult

回應,其中包含批次中所有動作的作業狀態。

Other Status Codes

SearchError

錯誤回應。

範例

SearchIndexIndexDocuments

範例要求

POST https://myservice.search.windows.net/indexes('myindex')/docs/search.index?api-version=2023-11-01

{
  "value": [
    {
      "@search.action": "upload",
      "docId": "1",
      "title": "Fancy Stay",
      "description": "Best hotel in town"
    },
    {
      "@search.action": "merge",
      "docId": "2",
      "title": "Roach Motel"
    },
    {
      "@search.action": "mergeOrUpload",
      "docId": "3",
      "title": "Econo Motel"
    },
    {
      "@search.action": "delete",
      "docId": "4"
    }
  ]
}

範例回覆

{
  "value": [
    {
      "key": "1",
      "status": true,
      "errorMessage": null,
      "statusCode": 201
    },
    {
      "key": "2",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    },
    {
      "key": "3",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    },
    {
      "key": "4",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    }
  ]
}
{
  "value": [
    {
      "key": "1",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    },
    {
      "key": "2",
      "status": false,
      "errorMessage": "Document not found.",
      "statusCode": 404
    },
    {
      "key": "3",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    },
    {
      "key": "4",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    }
  ]
}

定義

名稱 Description
IndexAction

表示在文件上運作的索引動作。

IndexActionType

索引批次中檔上要執行的作業。

IndexBatch

包含要傳送至索引的檔寫入動作批次。

IndexDocumentsResult

回應,其中包含索引要求中所有文件的作業狀態。

IndexingResult

單一檔的索引作業狀態。

SearchError

描述 API 的錯誤狀況。

IndexAction

表示在文件上運作的索引動作。

名稱 類型 Description
@search.action

IndexActionType

索引批次中檔上要執行的作業。

IndexActionType

索引批次中檔上要執行的作業。

值 Description
upload

如果檔是新的,請將檔插入索引中,並在它存在時加以更新。 更新案例中會取代所有欄位。

merge

將指定的域值與現有的檔案合併。 如果檔不存在,合併將會失敗。 您在合併中指定的任何欄位都會取代檔案中的現有欄位。 這也適用於基本和複雜類型的集合。

mergeOrUpload

如果具有指定索引鍵的檔已存在於索引中,則行為就像合併一樣。 如果檔不存在,它的行為就像使用新文件上傳一樣。

delete

從索引中移除指定的檔。 您在索引鍵欄位以外的刪除作業中指定的任何欄位都會被忽略。 如果您想要從檔中移除個別欄位,請改用合併,並將字段明確設定為 null。

IndexBatch

包含要傳送至索引的檔寫入動作批次。

名稱 類型 Description
value

IndexAction[]

批次中的動作。

IndexDocumentsResult

回應,其中包含索引要求中所有文件的作業狀態。

名稱 類型 Description
value

IndexingResult[]

索引要求中每個檔案的狀態信息清單。

IndexingResult

單一檔的索引作業狀態。

名稱 類型 Description
errorMessage

string

錯誤訊息,說明索引鍵所識別檔索引作業失敗的原因;如果索引編製成功,則為 null。

key

string

索引要求中檔索引鍵。

status

boolean

值,指出索引鍵所識別檔索引作業是否成功。

statusCode

integer (int32)

索引作業的狀態代碼。 可能的值包括:200 用於成功更新或刪除、201 表示成功建立檔、400 表示格式錯誤的輸入檔、找不到檔的 404、版本衝突的 409、索引暫時無法使用時為 422,或服務忙碌時為 503。

SearchError

描述 API 的錯誤狀況。

名稱 類型 Description
code

string

其中一組伺服器定義的錯誤碼。

details

SearchError[]

導致此錯誤之特定錯誤的詳細數據陣列。

message

string

錯誤的人類可讀取表示法。