Qdrant: как изменить одно поле payload у точки и проверить остальные
На странице · 3 разделов
Если у записи Qdrant изменился, например, статус документа, не обязательно загружать вектор заново. Операция Set payload меняет переданные поля выбранной точки; после неё перечитайте запись и проверьте как новый статус, так и неизменное поле. Ниже — инструкция для собственного тестового Qdrant, а не проверенный редакцией запуск сервера.
Технический уровень. Нужны собственный Qdrant и терминал: это не домашний рецепт установки AI-модели. Ниже приведена инструкция по официальной документации API v1.19.x на 17 октября 2026 года. Редакция не запускала сервер и не выполняла изменение на нём. Команды обращаются только к
127.0.0.1и специально созданной учебной коллекции; не переносите их на рабочие данные. Если ваш сервер требует API-ключ, настройте доступ по его инструкции и не публикуйте секреты. s1 s4
Что именно изменится у записи?
Точка Qdrant — запись с ID, вектором и дополнительными полями (payload). Допустим, у учебного документа ID 1 есть поля stage: draft и owner: demo. Нужно изменить только stage на ready, оставив owner прежним. Операция Set payload (POST .../points/payload) устанавливает переданные поля выбранной точки. Не путайте её с Overwrite payload (PUT на тот же адрес): тот заменяет весь payload и в таком примере убрал бы owner. s1 s2 s6
Здесь указан ID, а не фильтр: список ID ограничивает действие одной записью. Для Qdrant с несколькими одновременными писателями отдельное чтение не резервирует точку и не гарантирует, что другой процесс не изменит её между проверками. Согласуйте изменение рабочих данных отдельно; ниже только учебный опыт. s1 s3
Как поменять поле в отдельной коллекции?
Сначала откройте гайд локального Qdrant и проверьте доступ к своему тестовому API на http://127.0.0.1:6333. В терминале создайте новую коллекцию: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/docs_payload_sandbox_20261017' -H 'Content-Type: application/json' -d '{"vectors":{"size":2,"distance":"Cosine"}}'. Ожидается status: ok, result: true. Если такая коллекция уже существует, остановитесь и придумайте другое новое учебное имя; одинаково замените его во всех следующих командах. Два числа в векторе — только игрушечный пример, не параметры настоящей модели. s4
Добавьте одну учебную запись: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/docs_payload_sandbox_20261017/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":[1,0],"payload":{"stage":"draft","owner":"demo"}}]}'. Ожидайте status: ok и result.status: completed; при ином статусе не продолжайте. Upsert с существующим ID перезаписывает точку, поэтому этот шаг допустим только в новой пустой коллекции. s5
Для исходной сверки прочитайте ID 1: curl -fsS -X POST 'http://127.0.0.1:6333/collections/docs_payload_sandbox_20261017/points' -H 'Content-Type: application/json' -d '{"ids":[1],"with_payload":true,"with_vector":false}'. В массиве result ожидайте один объект с id: 1, stage: draft и owner: demo. Если точка отсутствует или поля отличаются, не меняйте её. s3
Теперь задайте только одно поле: curl -fsS -X POST 'http://127.0.0.1:6333/collections/docs_payload_sandbox_20261017/points/payload?wait=true' -H 'Content-Type: application/json' -d '{"points":[1],"payload":{"stage":"ready"}}'. Проверяйте status: ok и result.status: completed. Важно: метод здесь POST, тело содержит points:[1], не широкий filter; не заменяйте POST на PUT. s1 s2
Как убедиться, что другие данные остались?
Повторите запрос чтения: curl -fsS -X POST 'http://127.0.0.1:6333/collections/docs_payload_sandbox_20261017/points' -H 'Content-Type: application/json' -d '{"ids":[1],"with_payload":true,"with_vector":false}'. Сравните оба поля: stage должно стать ready, а owner остаться demo. Если второго поля нет, остановитесь и проверьте, не был ли по ошибке отправлен PUT; completed само по себе не доказывает правильность содержимого. При параллельных изменениях другой программой результат может отличаться. s1 s2 s3
Эта операция не запускает AI-модель и не пересчитывает векторы: учебный вектор добавлен отдельно. Для проверяемого следующего шага откройте гайд фильтрации по полям и проверьте выбор записи с stage: ready. Если нужно удалять точки, а не исправлять поле, это другая операция с отдельной предварительной проверкой. s1 s5
Источники
- Qdrant — Set payload, API v1.19.x — Снимок set.md и SHA-256 в manifest.json. Получено 17.10.2026.
- Qdrant — Overwrite payload, API v1.19.x — Снимок overwrite.md и SHA-256 в manifest.json. Получено 17.10.2026.
- Qdrant — Retrieve points, API v1.19.x — Снимок get.md и SHA-256 в manifest.json. Получено 17.10.2026.
- Qdrant — Create collection, API v1.19.x — Снимок create.md и SHA-256 в manifest.json. Получено 17.10.2026.
- Qdrant — Upsert points, API v1.19.x — Снимок upsert.md и SHA-256 в manifest.json. Получено 17.10.2026.
- Qdrant — Manage data: Payload — Снимок payload.html и SHA-256 в manifest.json; разделы Set/Overwrite. Получено 17.10.2026.