jsonscraper
Marchés
Retour au journal

Cloudflare AI Search indexe désormais les lignes D1 via une requête SQL

Cette intégration bêta transforme les enregistrements SQLite sélectionnés en documents de recherche et actualise l’index selon un calendrier défini.

Politique éditoriale Signaler une erreur

Les équipes qui stockent du contenu dans Cloudflare D1 peuvent désormais transmettre des enregistrements sélectionnés à AI Search sans export intermédiaire. Le 12 novembre 2026, Cloudflare a ajouté D1 comme source de données en version bêta : le développeur définit une requête en lecture seule, puis AI Search transforme chaque ligne renvoyée en document et actualise l’index selon un calendrier défini.

Article : Cloudflare AI Search indexe désormais les lignes D1 via une requête SQL
Résumé : Depuis le 12 novembre, Cloudflare AI Search peut récupérer des données de D1 : le développeur définit une requête en lecture seule et chaque ligne renvoyée devient un document distinct. La connexion est possible via le tableau de bord, l’API REST et un binding Workers ; la fonctionnalité est encore en bêta.
Rôle de l’image : couverture — l’idée centrale
Section : 
Sujet visuel : Photo éditoriale d’un tableau de base de données imprimé se transformant en documents de recherche organisés
Les lignes D1 sélectionnées par une requête SQL deviennent des documents distincts dans l’index de recherche.© jsonscraper · créé avec l’IA

Ce qui a changé

Auparavant, AI Search proposait d’autres catégories de sources, comme les objets R2 ou le contenu Web. Désormais, D1 peut transmettre directement à l’index les données de ses tables : articles publiés, catalogue de produits ou entrées d’une base de connaissances, par exemple. Cloudflare a décrit cette nouveauté dans l’entrée du journal des modifications du 12 novembre ; une instance utilisant D1 comme source peut être créée depuis le tableau de bord, l’API REST ou un binding Workers.

Le propriétaire de la base détermine, au moyen d’une requête SQL, quels enregistrements seront indexés et quels champs serviront de titre, de contenu et de métadonnées du document. Pour une base d’articles, la requête peut, par exemple, sélectionner uniquement les contenus publiés et attribuer aux colonnes les rôles id, title, content et meta_category. La représentation utilisée pour la recherche est ainsi construite à partir de la sélection définie par le développeur.

Fonctionnement de la connexion

Lors de la configuration d’une source D1, AI Search exécute la requête indiquée, indexe les lignes une par une et synchronise l’index selon un calendrier défini. L’API REST et le binding Workers nécessitent l’ID d’une base D1 du même compte Cloudflare, l’ID d’un jeton de service et une requête renvoyant une colonne id. Dans le tableau de bord, il est possible de sélectionner une base, de rédiger une requête et d’en tester le résultat sur une ligne avant de créer l’instance : ces étapes sont détaillées dans la documentation de la source D1.

Les noms des colonnes définissent leur fonction : title devient le titre du document, content son texte principal et les colonnes préfixées par meta_ sont conservées comme métadonnées. Selon le modèle de document, les autres colonnes peuvent apparaître sous forme de champs étiquetés. La requête SQL permet ainsi de sélectionner les catégories et les champs utiles à la recherche.

Requêtes acceptées par le service

La requête doit être une seule instruction de lecture commençant par SELECT ou WITH. Elle doit renvoyer un résultat non vide avec des valeurs id uniques et non vides ; le maximum est de 100 000 lignes et la requête ne peut dépasser 10 000 caractères. La documentation interdit également les paramètres liés, les commentaires et plusieurs constructions SQL, notamment les opérations d’écriture et les commandes d’administration. Il est impossible d’utiliser ORDER BY ou LIMIT : AI Search lit les résultats par pages, en les triant par id.

Si la valeur id d’une ligne change, AI Search supprime l’ancien document et en crée un nouveau. Il est donc préférable de choisir un identifiant stable pour la synchronisation. Chaque colonne du résultat doit également avoir un nom unique, qui peut au besoin être défini avec AS. Comme la synchronisation lit l’intégralité du résultat de la requête, elle est comptabilisée dans les lectures D1 ; les conditions WHERE permettent de limiter la sélection indexée.

À qui cela s’adresse

Cette nouvelle intégration convient aux équipes qui stockent déjà du contenu structuré dans D1. Elles peuvent sélectionner les enregistrements destinés au corpus de recherche au moyen d’une requête sur la base, puis synchroniser l’index lors de l’ajout, de la modification ou de la suppression de lignes. Un catalogue peut, par exemple, inclure uniquement les articles disponibles à la vente, et un centre d’aide uniquement les articles publiés et leurs catégories. Chaque ligne devient un document distinct.

L’intégration est encore en bêta. Avant le lancement, il est conseillé de vérifier l’unicité et la stabilité de id, de ne sélectionner que les colonnes nécessaires et d’évaluer l’incidence de la taille du résultat et du calendrier de synchronisation sur l’utilisation de D1. L’index est actualisé à l’intervalle choisi, et la lecture du résultat complet à chaque synchronisation consomme des lectures D1.

En résumé, D1 peut désormais servir de source à AI Search, et la requête SQL détermine quelles lignes de la base deviennent des documents consultables. Pour les équipes qui stockent du contenu dans D1, cela offre un moyen direct de relier les données à l’index ; la planification doit toutefois tenir compte de la limite de lignes et des lectures de la base nécessaires à la synchronisation.

Personnes

Aucune personne répertoriée pour cet article pour le moment.

Continuez à lireCloudflare D1 limite la taille des réponses aux requêtes : pourquoi l’export de la base fonctionne autrement
Lire le prochain article

Transformez vos lectures en intégration fonctionnelle

Explorez les API de données sociales de jsonscraper, testez des requêtes et créez votre prochain workflow.

Explorer les API