Reddit Extract

Jeden Ausgabewert auf seine Quelle zurückführen

Entwickeln Sie am PostgreSQL-Beispiel Regeln für Textquellen, fehlende Werte und Typen. Prüfen Sie Änderungen mit einer gespeicherten Antwort.

API-Schlüssel erhalten

Die zu prüfende Antwort aufbewahren

Beginnen Sie mit https://api.redditextract.com/v1/search?q=index&subreddit=PostgreSQL&limit=3. Die Anfrage grenzt den Abruf auf verfügbare Treffer zum Begriff index in PostgreSQL ein. Sie erfasst nicht automatisch alle Diskussionen über Datenbankindizes. Speichern Sie die tatsächlich gelieferte Antwort mit den Parametern. Falls die Trefferliste leer ist, dokumentieren Sie diesen Zustand, statt ihn durch erfundene Beispielzeilen zu ersetzen.

Den Weg vom Quellfeld zur Zielspalte beschreiben

Die Zuordnung soll auch ohne Programmausführung lesbar sein. Notieren Sie je Zielspalte das beobachtete Quellfeld, den akzeptierten Typ, die Regel bei Fehlen und ob der Wert kopiert oder abgeleitet wird. content_source kann lokal title oder text angeben; source_page kann aus Ihrem Anfrageprotokoll stammen. Diese Namen gehören zu Ihrer Ausgabe und sind keine zusätzlichen API-Felder.

Legen Sie fest, welche Felder für Ihre Anwendung wirklich erforderlich sind. Fehlt ein nutzbarer Identifikator, kann Ihr Ladeprozess die Zeile zur Prüfung zurückstellen. Speichern Sie den Grund zusammen mit dem Ausgangsdatensatz. Ein lokal abgelehnter Eintrag ist kein fehlgeschlagener API-Abruf. Ein erfundener Ersatzwert würde diese Trennung verwischen und spätere Fehleranalysen erschweren.

Die Entscheidung für Titel oder Text festhalten

q durchsucht title und text. Bei mehreren Suchbegriffen müssen diese gemeinsam innerhalb eines passenden Feldes übereinstimmen; eine Verteilung auf beide Felder reicht nicht. Prüfen Sie für q=index jedes Feld vor der Inhaltsauswahl. Fehlt text, erhalten Sie diesen Zustand oder nutzen Sie einen dokumentierten Ersatz durch title mit Quellenangabe. Geben Sie den Ersatz nicht als ursprünglichen Textkörper aus.

Für Text können Sie getrennte Spalten für Original und normalisierte Fassung vorsehen. Das Entfernen von Randabständen oder die Vereinheitlichung von Zeilenumbrüchen sind Entscheidungen Ihres Programms. Kennzeichnen Sie die verwendete Regelversion. Mehrere Regelversionen lassen sich auf dieselbe gespeicherte Antwort anwenden; das ist etwas anderes als eine Zusage, dass erneute API-Abfragen identische Daten liefern.

Fehlende Werte vor der Umwandlung prüfen

Untersuchen Sie zuerst, ob eine Eigenschaft existiert, und danach, ob ihr Wert null oder eine leere Zeichenfolge ist. Werden diese Zustände im Ziel zusammengeführt, halten Sie bei Bedarf den ursprünglichen Zustand in einer Zusatzspalte fest. So bleibt erkennbar, welche Information geliefert wurde und welche Vereinfachung erst durch Ihre Transformation entstanden ist. Verwenden Sie dieselbe dokumentierte Regel innerhalb eines Verarbeitungslaufs.

Prüfen Sie bei score, ob der Wert für die gewünschte numerische Darstellung geeignet ist. Eine vorhandene 0 darf nicht durch eine allgemeine Leerheitsprüfung verschwinden. Bei created_utc sollte die Umwandlung in eine lesbare UTC-Zeit erst nach erfolgreicher Prüfung erfolgen. Bewahren Sie den Eingangswert auf, wenn Sie die Umrechnung später nachvollziehen müssen. Das aktuelle Ausführungsdatum ist kein Ersatz für eine unbekannte Inhaltszeit.

Den Verbleib jedes Datensatzes erklären

Zählen Sie empfangene, akzeptierte und zurückgestellte Datensätze und prüfen Sie, ob diese Zahlen Ihren lokalen Verarbeitungslauf erklären. Sie sind keine Gesamtzählung des Archivs. Falls parent_id oder link_id verfügbar sind, lassen sich Beziehungen lokal gruppieren. Nicht aufgelöste Verweise sollten sichtbar bleiben: Die zugehörigen Eltern oder eine vollständige Unterhaltung müssen in Ihrem Abruf nicht enthalten sein.

Prüfen Sie klar gekennzeichnete synthetische Fälle: nur Titel, nur Text, beide Felder, explizites null und keine der beiden Eigenschaften. Kontrollieren Sie Ausgabewert und Quellenangabe. Bewahren Sie das unveränderte Objekt und den Ablehnungsgrund auf. Liefert Ihr Konverter höchstens eine Zeile pro Datensatz, müssen angenommene und abgelehnte Datensätze zusammen den empfangenen Bestand erklären, nicht das gesamte Archiv zählen.

Den nächsten Seitenabruf begründen

Die Reihenfolge _doc ist keine chronologische Folge. Für Inhaltssuchen gelten höchstens 100 Datensätze pro Anfrage und 100 Seiten pro Abfrage. Vollständigkeit folgt daraus nicht. eq bezeichnet eine exakte Gesamtzahl, gte eine Untergrenze und unknown das Fehlen einer verlässlichen Gesamtzahl. Trennen Sie diese Angaben von Ihren Qualitätskennzahlen, etwa dem Anteil erfolgreich konvertierter Datumswerte im geladenen Stapel.

Die Dokumentation nennt die erlaubten Filter; die Preisseite erklärt das Budget. Jeder erfolgreiche Abruf kostet einen Credit, selbst wenn Ihr Transformator anschließend alle Zeilen ablehnt. Ein gespeichertes Ergebnis lokal erneut zu verarbeiten erzeugt keine API-Anfrage. Ein neuer erfolgreicher Abruf kostet dagegen erneut. Nutzen Sie diese Trennung, um Ihre Regeln zu verbessern, ohne jede Änderung mit einer weiteren Suche zu verbinden.