Reddit Extract

Collega ogni valore prodotto alla sua origine

Trasforma l’esempio PostgreSQL in regole di mapping: origine del testo, valori assenti, tipi e prove sulla risposta salvata prima di un nuovo recupero.

Ottieni una chiave API

Conserva la risposta da esaminare

Parti da https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3. Il risultato, se presente, contiene record disponibili per quella ricerca; non rappresenta tutte le discussioni sugli indici in PostgreSQL. Salva i parametri e la risposta che ricevi. Se è vuota, registra questo esito senza aggiungere righe dimostrative al lotto di dati reali.

Descrivi il percorso di ogni campo

Rendi il mapping leggibile senza eseguire il programma. Per ogni colonna indica la proprietà osservata, il tipo ammesso, l’azione in caso di assenza e se il valore viene copiato o derivato. content_source può essere un indicatore locale con title o text; source_page può provenire dal registro delle richieste. Questi nomi appartengono alla tua uscita, non a nuovi campi promessi dall’API.

Decidi quali vincoli derivano davvero dall’applicazione. Se il caricamento richiede un identificatore utilizzabile, separa i record che non soddisfano la regola e conserva il motivo. Non inventare un valore per far passare la convalida. Una riga rifiutata dal tuo modello può provenire da una richiesta perfettamente riuscita; tenere separati questi esiti evita diagnosi e conteggi sbagliati.

Motiva la scelta tra titolo e testo

q cerca in title e text. Con più termini, questi devono trovare corrispondenza insieme all’interno di uno stesso campo; distribuirli tra i due campi non basta. Per q=index esamina ciascun campo prima di scegliere il contenuto. Se text manca, conserva l’assenza o applica una sostituzione documentata con title e un indicatore di origine, senza chiamarla corpo originale.

Se normalizzi spazi o interruzioni di riga, usa una colonna derivata e conserva il testo originale quando necessario. Assegna una versione alle regole del convertitore. Puoi confrontare più versioni sulla stessa risposta salvata senza ripetere la richiesta. Questo rende verificabile il tuo processo locale, ma non garantisce che una futura interrogazione restituisca record identici o un archivio immutato.

Controlla le assenze prima della conversione

Controlla in modo distinto proprietà assente, null e stringa vuota. Un database può richiedere di rappresentarle nello stesso modo, ma puoi conservare un indicatore dello stato originario quando conta per il tuo lavoro. Una colonna facoltativa non va riempita con una supposizione soltanto per rendere uniforme la vista. Documenta anche le eventuali perdite di informazione della trasformazione.

Per score, verifica il tipo e non confondere zero con assenza. Per created_utc, controlla che il valore possa essere interpretato prima di ricavarne una data in UTC. Conserva il valore originale accanto a quello derivato se devi poter ricostruire il passaggio. La data di esecuzione del programma non è un sostituto corretto per una data del contenuto sconosciuta.

Spiega il destino di ogni record

Conta record ricevuti, accettati e separati per revisione. Le cifre devono spiegare il lotto elaborato, non diventare una stima automatica dell’intero archivio. Quando parent_id e link_id sono disponibili, puoi creare relazioni locali; mantieni visibili quelle non risolte. Non è garantito che i genitori siano presenti o che il recupero includa tutte le risposte di una conversazione.

Prova casi sintetici chiaramente indicati: solo titolo, solo testo, entrambi, null esplicito e nessuna delle due proprietà. Controlla sia il valore prodotto sia la sua origine. Conserva l’oggetto invariato e il motivo di ogni scarto. Se il convertitore produce al massimo una riga per record, accettati e scartati devono spiegare i record ricevuti, senza diventare un conteggio dell’intero archivio.

Valuta limiti e costo delle richieste per testare la mappatura

L’ordine _doc non segue la cronologia. Le ricerche consentono fino a 100 record per richiesta e 100 pagine per query, senza garantire un’estrazione esaustiva. Interpreta eq come totale esatto, gte come limite inferiore e unknown come assenza di un totale affidabile. Non confondere questi indicatori con la percentuale di righe che supera le regole del tuo schema.

Consulta la documentazione per i filtri reali e i prezzi per pianificare le chiamate. Un recupero riuscito costa un credito anche quando il validatore scarta tutto. Rielaborare un file già salvato non chiama l’API, mentre un nuovo recupero riuscito consuma un altro credito. Distinguere questi passaggi permette di sperimentare le regole senza trasformare ogni modifica locale in una nuova ricerca.