Conserver la réponse à examiner
Lancez l’examen avec https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3. Cette recherche porte sur des éléments disponibles concernant index dans PostgreSQL. Elle n’atteste pas que toutes les discussions sur les index sont présentes. Enregistrez la réponse effectivement reçue et les paramètres; une liste vide doit rester un résultat vide, pas devenir un exemple de contenu fabriqué.
Décrire le parcours de chaque champ
Rendez la correspondance lisible sans exécuter le programme. Chaque colonne doit indiquer la propriété observée, le type accepté, le traitement de l’absence et le caractère copié ou dérivé du résultat. content_source peut être un marqueur local valant title ou text; source_page peut venir de votre journal de requêtes. Ces noms appartiennent à votre sortie, pas à de nouveaux champs promis par l’API.
Séparez exigences métier et observation de l’archive. Votre chargeur peut exiger un identifiant exploitable et mettre de côté un enregistrement qui n’en fournit pas. Il doit alors enregistrer un motif de rejet local. Ce rejet ne signifie pas que l’API a échoué, et ajouter un identifiant supposé rendrait la ligne plus difficile à interpréter ultérieurement.
Justifier le choix du titre ou du texte
q cherche dans title et text. Avec plusieurs termes, ils doivent correspondre ensemble dans un même champ satisfaisant la recherche; les répartir entre les deux champs ne suffit pas. Pour q=index, examinez chaque champ avant de choisir le contenu. Si text manque, gardez l’absence ou appliquez un repli documenté vers title avec un marqueur d’origine, sans le présenter comme le corps original.
Les nettoyages de texte demandent la même discipline. Si vous retirez des espaces ou harmonisez les retours à la ligne, nommez clairement la colonne transformée et conservez l’original lorsque nécessaire. Associez une version de vos règles au lot. Cela permet de comparer deux traitements du même fichier enregistré, sans promettre que de nouvelles requêtes produiront une archive inchangée.
Tester l’absence avant la conversion
Testez séparément l’existence d’une propriété, la valeur null et la chaîne vide. Si une base cible les regroupe, conservez un indicateur du cas d’origine lorsque cette différence importe. Une colonne facultative permet souvent de préserver l’incertitude au lieu de forcer une valeur. Le but est de rendre le lot utilisable sans lui attribuer des informations qu’il ne contient pas.
Contrôlez les nombres avant conversion. Un score égal à zéro ne doit pas disparaître à cause d’un test de présence trop large. Pour created_utc, validez le format rencontré avant de calculer une date lisible en UTC. Gardez la valeur source à côté de la valeur dérivée si votre processus doit pouvoir être audité; ne remplacez pas un échec de conversion par la date d’exécution.
Expliquer le sort de chaque enregistrement
Comptez les enregistrements reçus, acceptés et mis à part. Chaque ligne écartée doit avoir une raison explicable, par exemple un champ requis absent ou un type non pris en charge par votre modèle. Les éventuels parent_id et link_id permettent des regroupements locaux, mais une référence non résolue doit rester visible : ni les parents ni les conversations complètes ne sont garantis.
Utilisez des cas synthétiques clairement signalés : titre seul, texte seul, les deux, null explicite et aucune des deux propriétés. Vérifiez la valeur produite et son origine. Conservez l’objet inchangé et la raison de chaque rejet. Si votre convertisseur produit au plus une ligne par enregistrement, acceptations et rejets doivent expliquer les enregistrements reçus, sans devenir un décompte de toute l’archive.
Donner une raison au prochain appel
L’ordre _doc ne représente pas la chronologie. Les recherches sont limitées à 100 enregistrements par appel et 100 pages; parcourir cette fenêtre ne prouve pas l’exhaustivité. Dans les totaux, eq désigne une valeur exacte, gte une borne inférieure et unknown l’absence de total fiable. Ne mélangez pas ces indications de récupération avec les taux d’acceptation de votre transformateur.
La documentation détaille les filtres admis et la page des tarifs aide à planifier les appels. Chaque récupération réussie coûte un crédit, même si toutes les lignes sont ensuite rejetées localement. Vous pouvez tester plusieurs règles sur une réponse enregistrée sans rappeler l’API. Une nouvelle récupération réussie reste, elle, une opération facturée distincte.