Поделиться через


Documents - Index

Отправляет пакет действий записи документа в индекс.

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

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string

URL-адрес конечной точки службы поиска.

indexName
path True

string

Имя индекса.

api-version
query True

string

Версия клиентского API.

Заголовок запроса

Имя Обязательно Тип Описание
x-ms-client-request-id

string (uuid)

Идентификатор отслеживания, отправляемый запросом на отладку.

Текст запроса

Имя Обязательно Тип Описание
value True

IndexAction[]

Действия в пакете.

Ответы

Имя Тип Описание
200 OK

IndexDocumentsResult

Ответ, содержащий состояние операций для всех действий в пакете.

Other Status Codes

IndexDocumentsResult

Ответ, содержащий состояние операций для всех действий в пакете.

Other Status Codes

ErrorResponse

Ответ на ошибку.

Примеры

SearchIndexIndexDocuments

Образец запроса

POST https://exampleservice.search.windows.net/indexes('indexdocumentsexample')/docs/search.index?api-version=2024-07-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": 200
    },
    {
      "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": 201
    },
    {
      "key": "2",
      "status": false,
      "errorMessage": "Document not found.",
      "statusCode": 404
    },
    {
      "key": "3",
      "status": true,
      "errorMessage": null,
      "statusCode": 201
    },
    {
      "key": "4",
      "status": true,
      "errorMessage": null,
      "statusCode": 200
    }
  ]
}

Определения

Имя Описание
ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorDetail

Сведения об ошибке.

ErrorResponse

Ответ на ошибку

IndexAction

Представляет действие индекса, которое работает с документом.

IndexActionType

Операция, выполняемая в документе в пакете индексирования.

IndexBatch

Содержит пакет действий записи документов для отправки в индекс.

IndexDocumentsResult

Ответ, содержащий состояние операций для всех документов в запросе индексирования.

IndexingResult

Состояние операции индексирования для одного документа.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Имя Тип Описание
info

object

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorDetail

Сведения об ошибке.

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorDetail[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ErrorResponse

Ответ на ошибку

Имя Тип Описание
error

ErrorDetail

Объект ошибки.

IndexAction

Представляет действие индекса, которое работает с документом.

Имя Тип Описание
@search.action

IndexActionType

Операция, выполняемая в документе в пакете индексирования.

IndexActionType

Операция, выполняемая в документе в пакете индексирования.

Значение Описание
delete

Удаляет указанный документ из индекса. Любое поле, указанное в операции удаления, отличное от ключевого поля, будет игнорироваться. Если вы хотите удалить отдельное поле из документа, используйте слияние вместо этого и задайте поле явно равным NULL.

merge

Объединяет указанные значения полей с существующим документом. Если документ не существует, слияние завершится ошибкой. Любое поле, указанное в слиянии, заменит существующее поле в документе. Это также относится к коллекциям примитивных и сложных типов.

mergeOrUpload

Выполняется слияние, если документ с заданным ключом уже существует в индексе. Если документ не существует, он ведет себя как отправка с новым документом.

upload

Вставляет документ в индекс, если он новый и обновляет его, если он существует. Все поля заменяются в случае обновления.

IndexBatch

Содержит пакет действий записи документов для отправки в индекс.

Имя Тип Описание
value

IndexAction[]

Действия в пакете.

IndexDocumentsResult

Ответ, содержащий состояние операций для всех документов в запросе индексирования.

Имя Тип Описание
value

IndexingResult[]

Список сведений о состоянии каждого документа в запросе индексирования.

IndexingResult

Состояние операции индексирования для одного документа.

Имя Тип Описание
errorMessage

string

Сообщение об ошибке, объясняющее, почему операция индексирования завершилась ошибкой для документа, определенного ключом; Значение NULL, если индексирование выполнено успешно.

key

string

Ключ документа, который был в запросе индексирования.

status

boolean

Значение, указывающее, выполнена ли операция индексирования для документа, определяемого ключом.

statusCode

integer (int32)

Код состояния операции индексирования. Возможные значения включают: 200 для успешного обновления или удаления, 201 для успешного создания документа, 400 для неправильно сформированного входного документа, 404 для документа не найден, 409 для конфликта версии, 422, когда индекс временно недоступен, или 503, если служба слишком занята.