feat: edu-search-service migriert, voice-service/geo-service entfernt
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Successful in 1m45s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 21s
All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 28s
CI / test-go-edu-search (push) Successful in 27s
CI / test-python-klausur (push) Successful in 1m45s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 21s
- edu-search-service von breakpilot-pwa nach breakpilot-lehrer kopiert (ohne vendor) - opensearch + edu-search-service in docker-compose.yml hinzugefuegt - voice-service aus docker-compose.yml entfernt (jetzt in breakpilot-core) - geo-service aus docker-compose.yml entfernt (nicht mehr benoetigt) - CI/CD: edu-search-service zu Gitea Actions und Woodpecker hinzugefuegt (Go lint, test mit go mod download, build, SBOM) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
178
edu-search-service/rules/doc_type_rules.yaml
Normal file
178
edu-search-service/rules/doc_type_rules.yaml
Normal file
@@ -0,0 +1,178 @@
|
||||
# Doc-Type Klassifikationsregeln
|
||||
# Scoring-basiert: höchster Score gewinnt
|
||||
|
||||
doc_types:
|
||||
Lehrplan:
|
||||
strong_terms: # +4 pro Match
|
||||
- "lehrplan"
|
||||
- "kompetenzerwartungen"
|
||||
- "fachanforderungen"
|
||||
- "bildungsplan"
|
||||
- "kerncurriculum"
|
||||
- "rahmenlehrplan"
|
||||
- "schulcurriculum"
|
||||
medium_terms: # +3 pro Match
|
||||
- "kompetenzorientiert"
|
||||
- "kompetenzbereiche"
|
||||
- "inhaltsfelder"
|
||||
- "anforderungsbereiche"
|
||||
- "bildungsstandards"
|
||||
- "stundentafel"
|
||||
url_patterns: # +2 pro Match
|
||||
- "/lehrplan"
|
||||
- "/curriculum"
|
||||
- "/kerncurriculum"
|
||||
- "/rahmenlehrplan"
|
||||
- "/bildungsplan"
|
||||
|
||||
Kerncurriculum:
|
||||
strong_terms:
|
||||
- "kerncurriculum"
|
||||
- "kc "
|
||||
medium_terms:
|
||||
- "prozessbezogene kompetenzen"
|
||||
- "inhaltsbezogene kompetenzen"
|
||||
url_patterns:
|
||||
- "/kerncurriculum"
|
||||
- "/kc/"
|
||||
|
||||
Rahmenlehrplan:
|
||||
strong_terms:
|
||||
- "rahmenlehrplan"
|
||||
- "rlp"
|
||||
url_patterns:
|
||||
- "/rahmenlehrplan"
|
||||
- "/rlp/"
|
||||
|
||||
Erlass_Verordnung:
|
||||
strong_terms: # +5 - rechtliche Texte haben Vorrang
|
||||
- "erlass"
|
||||
- "verordnung"
|
||||
- "vo"
|
||||
- "richtlinie"
|
||||
- "amtsblatt"
|
||||
- "gvbl"
|
||||
- "gesetz"
|
||||
medium_terms:
|
||||
- "tritt in kraft"
|
||||
- "gilt ab"
|
||||
- "ausfertigungsdatum"
|
||||
- "bekanntmachung"
|
||||
url_patterns:
|
||||
- "/amtsblatt"
|
||||
- "/recht/"
|
||||
- "/verordnungen"
|
||||
- "/erlasse"
|
||||
- "/bekanntmachung"
|
||||
|
||||
Arbeitsblatt:
|
||||
strong_terms:
|
||||
- "arbeitsblatt"
|
||||
- "worksheet"
|
||||
- "kopiervorlage"
|
||||
- "loesungsblatt"
|
||||
- "stationenlernen"
|
||||
- "lerntheke"
|
||||
medium_terms:
|
||||
- "aufgabe 1"
|
||||
- "aufgabe 2"
|
||||
- "name:"
|
||||
- "datum:"
|
||||
- "klasse:"
|
||||
url_patterns:
|
||||
- "/arbeitsblatt"
|
||||
- "/material/arbeitsblatt"
|
||||
- "/download/arbeitsblatt"
|
||||
- "/worksheet"
|
||||
|
||||
Unterrichtsentwurf:
|
||||
strong_terms:
|
||||
- "unterrichtsentwurf"
|
||||
- "stundenentwurf"
|
||||
- "verlaufsplan"
|
||||
- "unterrichtsplanung"
|
||||
medium_terms:
|
||||
- "lernziele"
|
||||
- "kompetenzziel"
|
||||
- "einstieg"
|
||||
- "sicherung"
|
||||
- "transfer"
|
||||
- "didaktische analyse"
|
||||
- "methodische analyse"
|
||||
url_patterns:
|
||||
- "/unterrichtsentwurf"
|
||||
- "/stundenentwurf"
|
||||
|
||||
Materialsammlung:
|
||||
strong_terms:
|
||||
- "materialsammlung"
|
||||
- "materialpaket"
|
||||
- "unterrichtsmaterial"
|
||||
medium_terms:
|
||||
- "materialien"
|
||||
- "sammlung"
|
||||
- "paket"
|
||||
url_patterns:
|
||||
- "/material"
|
||||
- "/materialsammlung"
|
||||
|
||||
Pruefung_Abitur:
|
||||
strong_terms:
|
||||
- "abitur"
|
||||
- "zentralabitur"
|
||||
- "pruefungsaufgaben"
|
||||
- "pruefung"
|
||||
- "klausur"
|
||||
- "aufgabenpool"
|
||||
medium_terms:
|
||||
- "hilfsmittel"
|
||||
- "bearbeitungszeit"
|
||||
- "bewertungshinweise"
|
||||
- "loesungsvorschlag"
|
||||
url_patterns:
|
||||
- "/abitur"
|
||||
- "/pruefung"
|
||||
- "/klausur"
|
||||
|
||||
Studie_Bericht:
|
||||
strong_terms:
|
||||
- "studie"
|
||||
- "bericht"
|
||||
- "evaluation"
|
||||
- "monitoring"
|
||||
- "report"
|
||||
medium_terms:
|
||||
- "ergebnisse"
|
||||
- "methodik"
|
||||
- "stichprobe"
|
||||
- "fragebogen"
|
||||
- "datenanalyse"
|
||||
url_patterns:
|
||||
- "/studie"
|
||||
- "/bericht"
|
||||
- "/evaluation"
|
||||
|
||||
News_Blog:
|
||||
strong_terms:
|
||||
- "pressemitteilung"
|
||||
- "aktuelles"
|
||||
url_patterns:
|
||||
- "/news"
|
||||
- "/blog"
|
||||
- "/presse"
|
||||
- "/aktuelles"
|
||||
- "/meldung"
|
||||
|
||||
# Konfliktauflösung
|
||||
priority_order:
|
||||
- Erlass_Verordnung # Rechtliche Texte immer zuerst
|
||||
- Pruefung_Abitur
|
||||
- Lehrplan
|
||||
- Kerncurriculum
|
||||
- Rahmenlehrplan
|
||||
- Arbeitsblatt
|
||||
- Unterrichtsentwurf
|
||||
- Materialsammlung
|
||||
- Studie_Bericht
|
||||
- News_Blog
|
||||
- Sonstiges
|
||||
121
edu-search-service/rules/level_rules.yaml
Normal file
121
edu-search-service/rules/level_rules.yaml
Normal file
@@ -0,0 +1,121 @@
|
||||
# School Level Tagging Regeln
|
||||
|
||||
levels:
|
||||
Primar:
|
||||
strong:
|
||||
- "grundschule"
|
||||
- "primarstufe"
|
||||
- "klasse 1"
|
||||
- "klasse 2"
|
||||
- "klasse 3"
|
||||
- "klasse 4"
|
||||
- "1. klasse"
|
||||
- "2. klasse"
|
||||
- "3. klasse"
|
||||
- "4. klasse"
|
||||
- "sachunterricht"
|
||||
- "schuleingangsphase"
|
||||
weak:
|
||||
- "anfangsunterricht"
|
||||
- "schreibenlernen"
|
||||
- "erstlesen"
|
||||
negative: []
|
||||
|
||||
SekI:
|
||||
strong:
|
||||
- "sekundarstufe i"
|
||||
- "sek i"
|
||||
- "klasse 5"
|
||||
- "klasse 6"
|
||||
- "klasse 7"
|
||||
- "klasse 8"
|
||||
- "klasse 9"
|
||||
- "klasse 10"
|
||||
- "jahrgang 5"
|
||||
- "jahrgang 6"
|
||||
- "jahrgang 7"
|
||||
- "jahrgang 8"
|
||||
- "jahrgang 9"
|
||||
- "jahrgang 10"
|
||||
- "mittlere schule"
|
||||
- "realschule"
|
||||
- "hauptschule"
|
||||
- "mittelschule"
|
||||
- "erprobungsstufe"
|
||||
weak:
|
||||
- "5. klasse"
|
||||
- "6. klasse"
|
||||
- "7. klasse"
|
||||
- "8. klasse"
|
||||
- "9. klasse"
|
||||
- "10. klasse"
|
||||
negative: []
|
||||
|
||||
SekII:
|
||||
strong:
|
||||
- "sekundarstufe ii"
|
||||
- "sek ii"
|
||||
- "oberstufe"
|
||||
- "gymnasiale oberstufe"
|
||||
- "ef"
|
||||
- "q1"
|
||||
- "q2"
|
||||
- "11. klasse"
|
||||
- "12. klasse"
|
||||
- "13. klasse"
|
||||
- "jahrgang 11"
|
||||
- "jahrgang 12"
|
||||
- "jahrgang 13"
|
||||
- "abitur"
|
||||
- "abiturvorbereitung"
|
||||
- "leistungskurs"
|
||||
- "grundkurs"
|
||||
- "qualifikationsphase"
|
||||
- "einfuehrungsphase"
|
||||
weak:
|
||||
- "oberstufenschueler"
|
||||
- "kursstufe"
|
||||
negative: []
|
||||
|
||||
Beruf:
|
||||
strong:
|
||||
- "berufsschule"
|
||||
- "ausbildung"
|
||||
- "ihk"
|
||||
- "lernfeld"
|
||||
- "berufliches gymnasium"
|
||||
- "berufskolleg"
|
||||
- "berufsfachschule"
|
||||
- "fachschule"
|
||||
- "duales system"
|
||||
- "auszubildende"
|
||||
weak:
|
||||
- "betrieb"
|
||||
- "praxis"
|
||||
negative: []
|
||||
|
||||
Hochschule:
|
||||
strong:
|
||||
- "modulhandbuch"
|
||||
- "ects"
|
||||
- "seminar universitaet"
|
||||
- "vorlesung"
|
||||
- "studiengang"
|
||||
- "bachelor"
|
||||
- "master"
|
||||
- "dissertation"
|
||||
- "hochschuldidaktik"
|
||||
weak:
|
||||
- "studierende"
|
||||
- "hochschule"
|
||||
negative: []
|
||||
|
||||
# Konfliktauflösung
|
||||
# Wenn mehrere Levels matchen, gewinnt der spezifischere
|
||||
priority_order:
|
||||
- Primar
|
||||
- SekI
|
||||
- SekII
|
||||
- Beruf
|
||||
- Hochschule
|
||||
- NA
|
||||
285
edu-search-service/rules/subject_rules.yaml
Normal file
285
edu-search-service/rules/subject_rules.yaml
Normal file
@@ -0,0 +1,285 @@
|
||||
# Subject (Fach) Tagging Regeln
|
||||
# Format: strong (+3), weak (+1), negative (-2)
|
||||
|
||||
subjects:
|
||||
Mathe:
|
||||
strong:
|
||||
- "mathematik"
|
||||
- "mathe"
|
||||
- "algebra"
|
||||
- "geometrie"
|
||||
- "stochastik"
|
||||
- "analysis"
|
||||
- "prozentrechnung"
|
||||
- "gleichungen"
|
||||
- "funktionen"
|
||||
- "trigonometrie"
|
||||
- "wahrscheinlichkeit"
|
||||
weak:
|
||||
- "zahlen"
|
||||
- "terme"
|
||||
- "diagramme"
|
||||
- "brueche"
|
||||
- "dreisatz"
|
||||
- "rechnen"
|
||||
negative: []
|
||||
|
||||
Deutsch:
|
||||
strong:
|
||||
- "deutschunterricht"
|
||||
- "grammatik"
|
||||
- "rechtschreibung"
|
||||
- "aufsatz"
|
||||
- "textanalyse"
|
||||
- "literatur"
|
||||
- "argumentation"
|
||||
- "erzaehlung"
|
||||
- "lyrik"
|
||||
- "drama"
|
||||
- "epik"
|
||||
weak:
|
||||
- "lesen"
|
||||
- "schreiben"
|
||||
- "woerter"
|
||||
- "satzglieder"
|
||||
negative:
|
||||
- "deutschland"
|
||||
- "deutsche geschichte"
|
||||
|
||||
Englisch:
|
||||
strong:
|
||||
- "englischunterricht"
|
||||
- "english"
|
||||
- "grammar"
|
||||
- "vocabulary"
|
||||
- "reading comprehension"
|
||||
- "listening"
|
||||
- "speaking"
|
||||
weak:
|
||||
- "text"
|
||||
- "dialogue"
|
||||
negative: []
|
||||
|
||||
Franzoesisch:
|
||||
strong:
|
||||
- "franzoesisch"
|
||||
- "francais"
|
||||
- "french"
|
||||
- "grammaire"
|
||||
weak:
|
||||
- "texte"
|
||||
negative: []
|
||||
|
||||
Latein:
|
||||
strong:
|
||||
- "latein"
|
||||
- "lateinunterricht"
|
||||
- "grammatik latein"
|
||||
weak:
|
||||
- "uebersetzung"
|
||||
- "vokabel"
|
||||
negative: []
|
||||
|
||||
Biologie:
|
||||
strong:
|
||||
- "biologie"
|
||||
- "bio"
|
||||
- "oekologie"
|
||||
- "evolution"
|
||||
- "genetik"
|
||||
- "zellbiologie"
|
||||
- "stoffwechsel"
|
||||
- "neurobiologie"
|
||||
weak:
|
||||
- "zelle"
|
||||
- "organismus"
|
||||
- "lebewesen"
|
||||
negative: []
|
||||
|
||||
Chemie:
|
||||
strong:
|
||||
- "chemie"
|
||||
- "chemieunterricht"
|
||||
- "organische chemie"
|
||||
- "anorganische chemie"
|
||||
- "reaktionsgleichung"
|
||||
- "periodensystem"
|
||||
weak:
|
||||
- "element"
|
||||
- "verbindung"
|
||||
- "reaktion"
|
||||
negative: []
|
||||
|
||||
Physik:
|
||||
strong:
|
||||
- "physik"
|
||||
- "physikunterricht"
|
||||
- "mechanik"
|
||||
- "elektrizitaet"
|
||||
- "optik"
|
||||
- "thermodynamik"
|
||||
- "quantenphysik"
|
||||
weak:
|
||||
- "energie"
|
||||
- "kraft"
|
||||
- "bewegung"
|
||||
negative: []
|
||||
|
||||
Informatik:
|
||||
strong:
|
||||
- "informatik"
|
||||
- "programmierung"
|
||||
- "algorithmus"
|
||||
- "datenstruktur"
|
||||
- "python"
|
||||
- "java"
|
||||
- "sql"
|
||||
- "netzwerke"
|
||||
weak:
|
||||
- "code"
|
||||
- "daten"
|
||||
- "computer"
|
||||
negative: []
|
||||
|
||||
Geschichte:
|
||||
strong:
|
||||
- "geschichtsunterricht"
|
||||
- "historisch"
|
||||
- "weimarer republik"
|
||||
- "nationalsozialismus"
|
||||
- "mittelalter"
|
||||
- "aufklaerung"
|
||||
- "industrialisierung"
|
||||
- "antike"
|
||||
- "renaissance"
|
||||
weak:
|
||||
- "quelle"
|
||||
- "chronologie"
|
||||
- "epoche"
|
||||
negative: []
|
||||
|
||||
Politik_Sozialkunde:
|
||||
strong:
|
||||
- "politik"
|
||||
- "politikunterricht"
|
||||
- "sozialkunde"
|
||||
- "gemeinschaftskunde"
|
||||
- "demokratie"
|
||||
- "grundgesetz"
|
||||
- "bundestag"
|
||||
- "wahlen"
|
||||
- "parteien"
|
||||
weak:
|
||||
- "rechte"
|
||||
- "pflichten"
|
||||
- "institutionen"
|
||||
negative:
|
||||
- "europaeische union" # zu allgemein
|
||||
|
||||
Geographie:
|
||||
strong:
|
||||
- "geographie"
|
||||
- "geografie"
|
||||
- "erdkunde"
|
||||
- "topographie"
|
||||
- "klimazonen"
|
||||
- "plattentektonik"
|
||||
weak:
|
||||
- "karte"
|
||||
- "landschaft"
|
||||
- "kontinent"
|
||||
negative: []
|
||||
|
||||
Religion_Ethik:
|
||||
strong:
|
||||
- "religionsunterricht"
|
||||
- "ethik"
|
||||
- "philosophie"
|
||||
- "weltreligionen"
|
||||
- "bibel"
|
||||
- "christentum"
|
||||
- "islam"
|
||||
- "judentum"
|
||||
weak:
|
||||
- "werte"
|
||||
- "moral"
|
||||
negative: []
|
||||
|
||||
Kunst:
|
||||
strong:
|
||||
- "kunstunterricht"
|
||||
- "bildende kunst"
|
||||
- "malerei"
|
||||
- "zeichnen"
|
||||
- "gestaltung"
|
||||
- "kunstgeschichte"
|
||||
weak:
|
||||
- "bild"
|
||||
- "farbe"
|
||||
negative:
|
||||
- "kunststoff"
|
||||
|
||||
Musik:
|
||||
strong:
|
||||
- "musikunterricht"
|
||||
- "musiktheorie"
|
||||
- "notenlehre"
|
||||
- "rhythmus"
|
||||
- "harmonie"
|
||||
- "instrument"
|
||||
weak:
|
||||
- "lied"
|
||||
- "melodie"
|
||||
negative: []
|
||||
|
||||
Sport:
|
||||
strong:
|
||||
- "sportunterricht"
|
||||
- "bewegung sport"
|
||||
- "leichtathletik"
|
||||
- "ballsport"
|
||||
- "turnen"
|
||||
- "schwimmen unterricht"
|
||||
weak:
|
||||
- "spiel"
|
||||
- "fitness"
|
||||
negative:
|
||||
- "sportlich"
|
||||
- "esport"
|
||||
|
||||
Wirtschaft:
|
||||
strong:
|
||||
- "wirtschaftsunterricht"
|
||||
- "oekonomie"
|
||||
- "volkswirtschaft"
|
||||
- "betriebswirtschaft"
|
||||
- "marktwirtschaft"
|
||||
weak:
|
||||
- "unternehmen"
|
||||
- "markt"
|
||||
negative: []
|
||||
|
||||
Sachunterricht:
|
||||
strong:
|
||||
- "sachunterricht"
|
||||
- "heimat- und sachunterricht"
|
||||
- "hsu"
|
||||
weak:
|
||||
- "grundschule thema"
|
||||
negative: []
|
||||
|
||||
DaZ_DaF:
|
||||
strong:
|
||||
- "deutsch als zweitsprache"
|
||||
- "deutsch als fremdsprache"
|
||||
- "daz"
|
||||
- "daf"
|
||||
- "alphabetisierung"
|
||||
weak:
|
||||
- "sprachfoerderung"
|
||||
- "integration"
|
||||
negative: []
|
||||
|
||||
# Threshold für Subject-Assignment
|
||||
threshold: 4 # Mindest-Score um Subject zuzuweisen
|
||||
max_subjects: 3 # Maximal 3 Subjects pro Dokument
|
||||
117
edu-search-service/rules/trust_rules.yaml
Normal file
117
edu-search-service/rules/trust_rules.yaml
Normal file
@@ -0,0 +1,117 @@
|
||||
# Trust Score Regeln für Education Search
|
||||
# Score-Berechnung: Summe aller matchenden Regeln, dann clamp(0, 1)
|
||||
|
||||
domain_boosts:
|
||||
# Bundesebene (höchste Vertrauensstufe)
|
||||
- match: "*.kmk.org"
|
||||
add: 0.50
|
||||
reason: "KMK - Kultusministerkonferenz"
|
||||
- match: "*.bildungsserver.de"
|
||||
add: 0.50
|
||||
reason: "Deutscher Bildungsserver"
|
||||
- match: "*.bpb.de"
|
||||
add: 0.45
|
||||
reason: "Bundeszentrale für politische Bildung"
|
||||
- match: "*.bmbf.de"
|
||||
add: 0.50
|
||||
reason: "BMBF"
|
||||
- match: "*.iqb.hu-berlin.de"
|
||||
add: 0.50
|
||||
reason: "IQB Bildungsstandards"
|
||||
|
||||
# Landesministerien
|
||||
- match: "*.bayern.de"
|
||||
add: 0.45
|
||||
reason: "Bayern offiziell"
|
||||
- match: "*.nrw.de"
|
||||
add: 0.45
|
||||
reason: "NRW offiziell"
|
||||
- match: "*.berlin.de"
|
||||
add: 0.45
|
||||
reason: "Berlin offiziell"
|
||||
- match: "*.sachsen.de"
|
||||
add: 0.45
|
||||
reason: "Sachsen offiziell"
|
||||
- match: "*.niedersachsen.de"
|
||||
add: 0.45
|
||||
reason: "Niedersachsen offiziell"
|
||||
- match: "*.hessen.de"
|
||||
add: 0.45
|
||||
reason: "Hessen offiziell"
|
||||
- match: "*.brandenburg.de"
|
||||
add: 0.45
|
||||
reason: "Brandenburg offiziell"
|
||||
- match: "*.thueringen.de"
|
||||
add: 0.45
|
||||
reason: "Thüringen offiziell"
|
||||
|
||||
# Bildungsserver der Länder
|
||||
- match: "*.nibis.de"
|
||||
add: 0.40
|
||||
reason: "Niedersachsen Bildungsserver"
|
||||
- match: "*.learnline.nrw.de"
|
||||
add: 0.40
|
||||
reason: "NRW Bildungsserver"
|
||||
- match: "*.schule-bw.de"
|
||||
add: 0.40
|
||||
reason: "BW Bildungsserver"
|
||||
|
||||
# Universitäten
|
||||
- match: "*.uni-*.de"
|
||||
add: 0.30
|
||||
reason: "Deutsche Universität"
|
||||
- match: "*.tu-*.de"
|
||||
add: 0.30
|
||||
reason: "Technische Universität"
|
||||
- match: "*.fh-*.de"
|
||||
add: 0.25
|
||||
reason: "Fachhochschule"
|
||||
|
||||
# Etablierte Portale
|
||||
- match: "*.zum.de"
|
||||
add: 0.25
|
||||
reason: "ZUM - Zentrale für Unterrichtsmedien"
|
||||
- match: "*.lehrer-online.de"
|
||||
add: 0.20
|
||||
reason: "Lehrer-Online Portal"
|
||||
- match: "*.4teachers.de"
|
||||
add: 0.20
|
||||
reason: "4teachers Portal"
|
||||
|
||||
tld_boosts:
|
||||
- tld: ".gov"
|
||||
add: 0.40
|
||||
reason: "Government TLD"
|
||||
- tld: ".edu"
|
||||
add: 0.35
|
||||
reason: "Education TLD"
|
||||
|
||||
penalties:
|
||||
# URL-Muster die Werbung/Tracking andeuten
|
||||
- if_url_contains: ["utm_", "affiliate", "partner=", "ref="]
|
||||
add: -0.10
|
||||
reason: "Tracking/Affiliate Parameter"
|
||||
|
||||
# Kommerzielle Signale
|
||||
- if_url_contains: ["shop", "kaufen", "bestellen", "warenkorb"]
|
||||
add: -0.20
|
||||
reason: "E-Commerce Signale"
|
||||
|
||||
# SEO-Spam Indikatoren
|
||||
- if_url_contains: ["gratis-", "kostenlos-download", "sofort-"]
|
||||
add: -0.15
|
||||
reason: "SEO-Spam Muster"
|
||||
|
||||
# Content-basierte Strafen (werden vom Extractor gesetzt)
|
||||
content_penalties:
|
||||
- if_ad_density_gt: 0.20
|
||||
add: -0.30
|
||||
reason: "Hoher Werbeanteil"
|
||||
|
||||
- if_link_density_gt: 0.40
|
||||
add: -0.20
|
||||
reason: "Hohe Link-Dichte (Linkfarm)"
|
||||
|
||||
- if_content_length_lt: 200
|
||||
add: -0.25
|
||||
reason: "Sehr wenig Content"
|
||||
Reference in New Issue
Block a user