AWS объявила о добавлении предварительной фильтрации метаданных в Amazon S3 Vectors. Теперь такие условия, как арендатор, категория, статус или дата, применяются до выполнения поиска по сходству, а не проверяются параллельно с выбором результатов. Компания утверждает, что это изменение может обеспечить до пятикратного увеличения числа соответствующих векторов в запросах с селективными фильтрами.
Функция предназначена для приложений, которые выполняют поиск не по всему индексу, а ограничивают результаты определённым диапазоном, например документами одного клиента в многопользовательской системе, файлами конкретного пользователя или контентом, разрешённым для определённого региона и лицензии. Среди вариантов использования AWS называет базы знаний на основе дополненной генерацией извлечением (RAG), агентские приложения, поиск по документам, а также платформы для финансовых исследований и юридических услуг.
Что меняется на практике?
В режиме ENHANCED сервис сначала применяет фильтр, а затем выполняет векторный поиск только в пределах соответствующего набора векторов. В режиме CLASSIC, который используется по умолчанию в существующих индексах, поиск и фильтрация выполняются одновременно, что может уменьшить число соответствующих результатов, когда нужный набор составляет небольшую часть индекса.
AWS объясняет разницу на примере индекса, содержащего 8 миллионов заявок в службу поддержки, из которых 400 относятся к одному клиенту. В улучшенном режиме поиск выполняется среди заявок этого клиента, вместо того чтобы выбирать кандидатов из полного индекса, а затем фильтровать результаты. В другом примере обновление индекса преобразовало результат, ограниченный одним арендатором, из всего лишь двух результатов из десяти требуемых в полный набор результатов из документов этого арендатора.
Возможности и ограничения
Каждый вектор может содержать до 2 КБ фильтруемых метаданных, а один запрос поддерживает до 100 условий фильтрации. Язык запросов включает проверку равенства, логические операции через $and и $or, числовые сравнения, проверку принадлежности к наборам и проверку существования. AWS также добавила оператор $startsWith для ограничения поиска путями, URL-адресами или иерархическими ключами, например для поиска внутри вложенной папки или по префиксу идентификатора документа.
Для существующих индексов не требуется повторно вводить векторы, и запросы не нужно изменять. Однако пользователь должен вызвать UpdateIndexMode, чтобы перевести индекс в режим ENHANCED. Новые индексы в контейнерах векторов, созданных 30 сентября 2026 года или позднее, используют улучшенный режим, тогда как более старые контейнеры и их индексы остаются в режиме CLASSIC, пока пользователь не изменит настройку.
Почему это важно?
Практическая ценность заключается не только в увеличении числа результатов, но и в снижении вероятности того, что векторный поиск скроет правильные документы из-за слишком узкого требуемого диапазона. Это важно для многопользовательских систем и агентов, которые должны работать с определённым набором документов, поскольку качество извлечения здесь зависит от сочетания семантической релевантности и корректности области поиска.
Функция доступна без дополнительной платы во всех коммерческих регионах AWS, где доступен Amazon S3 Vectors, а также в регионах AWS в Китае. При этом плата за хранение, запросы PUT и запросы продолжает взиматься по стандартным тарифам S3 Vectors. Ограничения на число условий и объём метаданных остаются факторами, которые необходимо учитывать: AWS рекомендует объединять большие фильтры или разделять их на более мелкие запросы при превышении лимита в 100 условий.