← Обзор / ai-search / configuration / indexing
Атрибуты метаданных
Используйте атрибуты метаданных, чтобы упорядочить проиндексированные документы и задать контекст для ответов ИИ. Эта страница описывает встроенные атрибуты метаданных и пользовательские схемы метаданных. О фильтрации результатов поиска по этим атрибутам во время запроса см. Фильтрация.
Встроенные атрибуты метаданных
AI Search автоматически извлекает следующие атрибуты метаданных из проиндексированных документов:
| Attribute | Описание | Пример |
|---|---|---|
filename |
Имя файла. | guide.pdf или docs/getting-started/guide.pdf |
folder |
Папка или префикс объекта. | Для docs/getting-started/guide.pdf, папкой является docs/getting-started/ |
timestamp |
Время Unix (в миллисекундах), когда объект был последний раз изменён. При сравнении значения округляются вниз до секунд. | 1735689600000 (2025-01-01 00:00:00 UTC) |
Атрибуты пользовательских метаданных
Пользовательские метаданные позволяют определить дополнительные поля для фильтрации результатов поиска. К документам можно прикрепить структурированные метаданные и фильтровать запросы по таким атрибутам, как категория, версия или любое другое пользовательское поле.
Поддерживаемые типы данных
| Тип | Описание | Примеры значений |
|---|---|---|
text |
Строковые значения | "documentation", "blog-post" |
number |
Числовые значения (обрабатываются как float) | 2.5, 100, -3.14 |
boolean |
Логические значения | true, false, 1, 0, yes, no |
datetime |
Значения даты и времени | "2026-01-15T00:00:00Z" |
Определение схемы
Прежде чем можно будет извлекать пользовательские метаданные, определите схему в конфигурации AI Search с помощью custom_metadata поле. Схема определяет, какие поля нужно извлечь, и их типы данных.
custom_metadata: [
{ field_name: "category", data_type: "text" },
{ field_name: "version", data_type: "number" },
{ field_name: "is_public", data_type: "boolean" },
];Ограничения схемы:
- Максимум 5 пользовательских полей метаданных на экземпляр AI Search
- Имена полей не учитывают регистр и хранятся в нижнем регистре
- Имена полей не могут совпадать с зарезервированными именами:
timestamp,folder,filename - Изменение схемы запускает полную переиндексацию всех документов
Добавьте к документам пользовательские атрибуты метаданных
Способ добавления пользовательских атрибутов метаданных зависит от источника данных:
- Бакет R2: Задавайте метаданные с помощью S3-совместимых пользовательских заголовков (
x-amz-meta-*). См. Пользовательские метаданные R2 с примерами. - Сайт: Добавьте
<meta>теги на свои HTML-страницы. Подробнее см. в Пользовательские метаданные сайта для получения подробностей. - Встроенное хранилище: Прикрепляйте метаданные при загрузке файлов через API элементов.
Поведение переиндексации
При изменении custom_metadata схема:
- Новые поля добавляются в поисковый индекс.
- Удалённые поля удаляются из поискового индекса.
- Для всех документов запускается полная переиндексация.
- Существующие векторы обновляются с учётом новой структуры метаданных.
Хранение и фильтрация метаданных
AI Search хранит метаданные каждого вектора в общем компактном конверте JSON UTF-8 объёмом 10 КиБ. В этот объём входят имена полей, синтаксис JSON, обязательные системные метаданные AI Search и метаданные клиента. Это не лимит на отдельное поле.
Настроенные пользовательские поля имеют приоритет над необъявленными метаданными источника. AI Search собирает метаданные детерминированно, сохраняя полные значения, которые помещаются. Если остаётся место, настроенные строковые значения могут быть обрезаны по границам символов UTF-8. Обязательные метаданные AI Search сохраняются всегда.
Фильтруются только первые 64 байта UTF-8 каждой проиндексированной строки. Более длинные строки можно хранить, но байты после первых 64 не фильтруются. Подробнее о Vectorize см. Лимиты и Фильтрация метаданных.
Ограничения
| Ограничение | Лимит |
|---|---|
| Максимальное количество пользовательских полей | 5 на экземпляр AI Search |
| Метаданные на вектор | Всего 10 KiB, включая системные данные и синтаксис JSON |
| Фильтруемые индексированные строки | Первые 64 байта UTF-8 каждой строки |
| Зарезервированные имена полей | timestamp, folder, filename |
| Сопоставление по имени поля | Без учёта регистра |