MV: Server-side Volltextsuche im ParLDokAdapter via facet_fulltext=0 #12
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: tobias/gwoe-antragspruefer#12
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Sub-Issue von #11 — der MV-Teil zuerst, weil ParlDok 8.x (J3S GmbH) den Volltext-Pfad bereits im Frontend nutzt und das Tag-Format reverse-engineerbar ist.
Was zu tun ist
ParLDokAdapterinapp/parlamente.pyso erweitern, dassqueryals Server-side Volltext-Filter ans Backend geht statt client-seitig auf Titel + Urheber zu matchen.Was bereits bekannt ist
Aus dem Reverse-Engineering von
bundle.js(https://www.dokumentation.landtag-mv.de/parldok/js/bundle.js) für Issue #4:facet_fulltext = 0ist also der Tag-Typ für die freie Volltextsuche. Aktuell baut_build_search_bodynur ein WP-Tag:Erweitern auf:
Offene Punkte beim Reverse Engineering
t,id,text,value. Im JS-Code wird das Tag inaddSearchtagggf. mitpd.currentFTSearchModealsmode-Feld kombiniert ("Alle", oder ein spezifisches Index-Suchfeld).Akzeptanzkriterien
ADAPTERS["MV"].search("Schule", limit=20)liefert ≥10 Treffer (in der MV-DB gibt es mit Sicherheit dutzende Schul-Anträge in WP8)/api/search-landtag?q=Schule&bundesland=MVErledigt in
6184bf8.Tag-Schema komplett aus
bundle.jsreverse-engineered (pd.addInputZeile 72247):getFulltextId=re.sub(r"[^a-zA-Z0-9]", "-", term)— server-side dedup-Schlüssel für identische Such-Facetten.Pagination funktioniert direkt: die
queryidaus dem erstenFulltext/Search-Response trägt den Volltext-Filter automatisch durch alleFulltext/Resultpage-Folgecalls — kein erneutes Tag-Senden nötig.Verifikation gegen Akzeptanzkriterien:
search("Schule", limit=20)≥ 10 Treffer/api/search-landtag?q=Schule&bundesland=MV[](0)Lokale Cross-Checks für andere Begriffe:
Klima→ 10,Wohnen→ 10, jeweils mit echten Volltext-Hits über mehrere Parteien und Zeiträume.#13 (BE/LSA via PortalaAdapter eUI) ist davon unabhängig, weil Portala/eUI ein anderes Backend-Schema nutzt — der
sf-Index-Name muss erst per DevTools-Trace ermittelt werden. Wird separat angegangen.