Documents - Index

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

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

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

Sample Request

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

{
  "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"
    }
  ]
}

Sample Response

{
  "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
delete

string

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

merge

string

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

mergeOrUpload

string

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

upload

string

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

IndexBatch

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

名稱 類型 Description
value

IndexAction[]

批次中的動作。

IndexDocumentsResult

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

名稱 類型 Description
value

IndexingResult[]

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

IndexingResult

單一檔的索引作業狀態。

名稱 類型 Description
errorMessage

string

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

key

string

索引要求中檔的索引鍵。

status

boolean

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

statusCode

integer

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

SearchError

描述 API 的錯誤狀況。

名稱 類型 Description
code

string

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

details

SearchError[]

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

message

string

人類看得懂的錯誤表示法。