Documents Post

Создание индекса или обновление существующего.

https://supportgpt.api.cloud.yandex.net/indexer/v1/indexes/{index_name}/documents

Метод: POST.

  • index_name — Строковое имя индекса (строка, обязательное). Для формирования index_name используйте полученный ранее префикс, значение должно начинаться с него. Подробнее см. раздел Загрузка базы знаний.

Схема запроса (Request Body schema: application/json):

  • service — Строковый идентификатор сервиса (строка, обязательное).
  • product — Строковый идентификатор продукта (строка, обязательное).
  • meta — Метаинформация об индексе (опциональное).
  • auto_switch — Нужно ли сразу переключиться на новый индекс после добавления данных. При установке false для переключения есть отдельный запрос. При создании нового индекса, данные старого индекса на какое-то время остаются в базе (логическое значение, опциональное).
  • index_version — Опциональное поле для указания версии индекса (число, опциональное). В случае отсутствия версия будет определена автоматически. Если указать ранее загруженную версию, на которую еще не было переключения, документы будут добавлены к этой версии. Для добавления документов в активную версию, на которую уже было переключение, используйте флаг diff.
  • documents — Список документов для индексации (обязательное). Обратите внимание, что большие документы при загрузке разбиваются на части меньшего размера. Идентификатор каждой такой части будет (идентификатор документа)_(номер части). Например, объемный документ с "doc_id": "instructions" будет загружен частями с идентификаторами "doc_id": "instructions_0", "instructions_1" и т. д. (обязательное):
    • doc_id — Id документа, длина не более 255 символов (строка, обязательное).
    • title — Заголовок документа (строка, обязательное).
    • text — Текст документа (строка, обязательное).
    • meta — Дополнительные метаданные документа, заносятся в индекс в виде пар key-value в свободном формате (опциональное).
    • typed_meta — значения метаданных для гибкой фильтрации (опциональное, подробнее см. раздел Гибкая фильтрация по метаданным):
      • params — Метапараметры документов, могут быть использованы в запросах (опциональное):
        • name — Название параметра (строка, обязательное).
        • param_type — Тип параметра (строка, опциональное).
        • value — Значение параметра (опциональное).
  • diff — Если true, то индекс будет создан на основе существующего, с добавкой переданных документов. При совпадении id документов информация будет заменена (логическое значение, опциональное).

Схема ответа:

  • index_name — Строковое имя индекса (строка, обязательное).
  • index_version — Версия индекса, который был обновлен (строка, обязательное).
  • index_parent_version — Если был выставлен флаг diff, то в этом поле будет версия родительского индекса, на основе которого был создан новый индекс (строка, опциональное).

Пример запроса:

{
  "service": "your_service",
  "product": "your_product",
  "meta": {
    "source": "исходный источник данных, зависит от клиента",
    "description": "описание индекса"
  },
  "auto_switch": true,
  "index_version": 1,
  "documents": [
    {
      "doc_id": "doc42",
      "title": "Инструкция по решению такой-то технической проблемы",
      "text": "Чтобы решить такую-то техническую проблему, надо предпринять такие-то действия",
      "meta": {
        "title": "заголовок документа",
        "source_id": "исходный источник документа такой-то",
        "some_another_key": "some_another_value"
      },
      "typed_meta": {
        "params": [
          {
            "name": "entity",
            "param_type": "bool",
            "value": "book"
          }
        ]
      }
    }
  ],
  "diff": false
}

Пример ответа:

{
  "index_name": "your_index_name",
  "index_version": 3,
  "index_parent_version": 2
}
Предыдущая
Следующая