Qdrant Facet: значения поля и число точек для каждого
На странице · 3 разделов
Facet в Qdrant показывает значения выбранного поля и количество точек с каждым значением. Для запроса нужен индекс этого поля; установите exact: true, если важен точный счёт, и задайте limit осознанно. Ниже — учебные запросы к своему локальному серверу, а не результат запуска редакции.
Технический уровень. Нужен собственный Qdrant v1.19.x и терминал Linux/macOS с
curl; это не домашний рецепт запуска AI-модели. Инструкция сверена с документацией 19 октября 2026 года. Редакция не запускала Qdrant: числа ниже — ожидаемый результат искусственного набора, а не измерение. Команды обращаются только к127.0.0.1; сервер с ключом потребует отдельной настройки доступа. s2 s4
Когда нужен Facet, а когда Count?
Представьте коллекцию заметок, где у каждой записи есть поле kind со значением letter или note. Точка — запись с ID, вектором и дополнительными полями (payload). Facet покажет, какие значения встречаются в kind и сколько точек приходится на каждое. В отличие от Count points, вы получите список значений со счётчиками, а не одно итоговое число. Facet — не проверка прав доступа к чужим документам. s1 s2
Для Facet сначала нужен индекс поля, который поддерживает совпадение значения: здесь keyword для текстовых меток. По умолчанию Qdrant возвращает не более десяти значений (limit: 10), а счёт может быть приблизительным (exact: false). Поэтому в небольшом учебном примере укажем limit: 5 и exact: true; на реальных данных более высокий предел и точный счёт могут стоить дополнительных ресурсов. s1 s2
Как получить два значения на отдельной учебной коллекции?
Если Qdrant ещё не установлен, начните с гайда по локальному серверу. Выберите новое неиспользованное имя demo_facet_20261019 и используйте его во всех четырёх командах; не указывайте рабочую коллекцию. Сначала создайте пустую коллекцию с искусственными двухчисловыми векторами: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/demo_facet_20261019' -H 'Content-Type: application/json' -d '{"vectors":{"size":2,"distance":"Cosine"}}'. Дождитесь status: ok и result: true; если имя занято, остановитесь и выберите другое. Размерность 2 не является рекомендацией для настоящей модели. s4
Создайте индекс поля kind: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/demo_facet_20261019/index?wait=true' -H 'Content-Type: application/json' -d '{"field_name":"kind","field_schema":"keyword"}'. Успешный ответ содержит status: ok и result.status: completed. Если создание индекса не завершилось, не переходите дальше. s1 s3
Загрузите три учебные точки: curl -fsS -X PUT 'http://127.0.0.1:6333/collections/demo_facet_20261019/points?wait=true' -H 'Content-Type: application/json' -d '{"points":[{"id":1,"vector":[1,0],"payload":{"kind":"letter"}},{"id":2,"vector":[0,1],"payload":{"kind":"letter"}},{"id":3,"vector":[1,1],"payload":{"kind":"note"}}]}'. Дождитесь result.status: completed. Повторный Upsert с тем же ID может заменить запись, поэтому используйте только отдельную учебную коллекцию. s5
Теперь запросите Facet: curl -fsS -X POST 'http://127.0.0.1:6333/collections/demo_facet_20261019/facet' -H 'Content-Type: application/json' -d '{"key":"kind","limit":5,"exact":true}'. Для неизменённого учебного набора ожидайте в result.hits две пары: letter → 2 и note → 1; порядок пар не важен. Если пары другие, проверьте ответ загрузки, индекс, точное имя коллекции и отсутствие параллельных изменений. Это вывод из заданных данных, не ответ запущенного Qdrant. s2 s5
Что проверить перед использованием на своих данных?
result.hits — список значений и количеств, а не найденные тексты. Не считайте его полным перечнем уникальных значений, если их больше limit; для фильтрации по конкретной метке перейдите к гайду по фильтрам. Если Qdrant сообщает об отсутствии индекса, проверьте его создание именно для поля kind и тип keyword. При отказе в доступе не публикуйте сервер в интернет: используйте свой защищённый локальный доступ. Мы не проверяли это на настоящем сервере и не измеряли производительность. s1 s2 s3
Источники
- Qdrant — Payload, Facet counts — HTML-снимок с разделом Facet counts и SHA-256 в research/raw/2026-10-19/seo/qdrant-facet-po-polyu/. Получено 19.10.2026.
- Qdrant — Payload field facets, API v1.19.x — Версионная документация API; снимок facet-api.md. Получено 19.10.2026.
- Qdrant — Create payload index, API v1.19.x — Версионный запрос PUT /index, wait и field_schema; снимок index-api.md. Получено 19.10.2026.
- Qdrant — Create collection, API v1.19.x — Версионный запрос PUT /collections; снимок collection-api.md. Получено 19.10.2026.
- Qdrant — Upsert points, API v1.19.x — Версионный запрос PUT /points с wait; снимок upsert-api.md. Получено 19.10.2026.