Команды, которые хранят контент в Cloudflare D1, теперь могут передавать выбранные записи в AI Search без отдельной промежуточной выгрузки. 12 ноября 2026 года Cloudflare добавила D1 как источник данных в бета-версии сервиса: разработчик задаёт запрос только для чтения, а AI Search превращает каждую возвращённую строку в документ и обновляет индекс по расписанию.

Что изменилось
Раньше AI Search предлагал другие категории источников, например объекты R2 или веб-контент. Теперь D1 может передавать в индекс данные из таблиц напрямую: например, опубликованные статьи, каталог товаров или записи базы знаний. Cloudflare описала нововведение в записи журнала изменений за 12 ноября; создать экземпляр с источником D1 можно через панель управления, REST API или Workers binding.
Владелец базы определяет SQL-запросом, какие записи попадут в индекс и какие поля станут заголовком, содержимым и метаданными документа. Для базы статей запрос, например, может выбрать только опубликованные материалы и присвоить столбцам роли id, title, content и meta_category. Так поисковое представление строится из выборки, заданной разработчиком.
Как устроено подключение
При настройке D1-источника AI Search выполняет заданный запрос, индексирует строки по одной и синхронизирует индекс по расписанию. Для REST API и Workers binding нужны ID базы D1 в том же аккаунте Cloudflare, ID сервисного токена и запрос, возвращающий столбец id. В панели можно выбрать базу, составить запрос и проверить результат на одной строке до создания экземпляра — эти шаги приведены в документации источника D1.
Названия столбцов задают их назначение: title становится заголовком документа, content — основным текстом, а столбцы с префиксом meta_ сохраняются как метаданные. Остальные столбцы могут отображаться как подписанные поля — в зависимости от шаблона документа. Это позволяет выбрать в SQL нужные поиску категории и поля.
Какие запросы принимает сервис
Запрос должен быть одним оператором чтения, начинающимся с SELECT или WITH. Он должен возвращать непустой результат с уникальными, непустыми значениями id; максимум — 100 000 строк, длина запроса — 10 000 символов. Документация также запрещает параметры привязки, комментарии и несколько SQL-конструкций, включая операции записи и административные команды. Использовать ORDER BY или LIMIT нельзя: AI Search читает результат страницами, сортируя по id.
Если значение id строки меняется, AI Search удаляет прежний документ и создаёт новый. Поэтому для синхронизации стоит выбрать стабильный идентификатор. У каждого столбца результата также должно быть уникальное имя; при необходимости его можно задать через AS. Поскольку синхронизация читает полный результат запроса, она учитывается в расходе чтений D1, а условия WHERE помогают ограничить индексируемую выборку.
Кому это полезно
Новая связка подходит командам, которые уже хранят структурированный контент в D1. Они могут выбирать записи для поискового корпуса запросом к базе, а затем синхронизировать индекс при добавлении, изменении или удалении строк. Например, каталог может включать только доступные к продаже позиции, а справочный центр — только опубликованные статьи и их категории. Каждая строка становится отдельным документом.
Интеграция пока работает в бета-версии. Перед запуском стоит проверить уникальность и стабильность id, выбрать только необходимые столбцы и оценить, как размер результата и расписание синхронизации повлияют на использование D1. Обновления индекса происходят по выбранному интервалу, а чтение полного результата при каждой синхронизации расходует D1 reads.
Итоговое изменение — D1 теперь может быть источником для AI Search, а SQL-запрос задаёт, какие строки базы становятся поисковыми документами. Командам с контентом в D1 это даёт прямой способ связать данные и индекс; при планировании важно учитывать лимит строк и чтения базы при синхронизации.