# Documenten doorzoeken

Documentzoekresultaten combineren titel, documentnummer en publieke code met de
tekst van de huidige gepubliceerde PDF. De werkversie, latere uploads en daarop
gebaseerde samenvattingen of embeddings worden niet als openbare inhoud gebruikt.
De bestaande toegangscontrole blijft vóór de zoekopdracht en resultaattelling actief.

## Zoekgedrag

Meerdere woorden mogen verspreid staan over de titel en de gepubliceerde PDF.
Uitsluitingen zoals `waterberging !stadspark` worden over alle leesbare velden
gecontroleerd, zodat een match in de titel een uitgesloten woord in de PDF niet
omzeilt. De bestaande zoeksyntax voor woordvolgorde en prefixen blijft beschikbaar.
Exacte publieke codes en documentnummers krijgen voorrang in de rangschikking.

Beheerders kunnen daarnaast de werkversie doorzoeken zoals voorheen. Ook zonder
bewerkbare Markdown blijft de tekst van de gepubliceerde PDF voor hen zoekbaar.
De openbare zoekresultaten gebruiken nooit de werkversie als terugvaloptie.

## Uitrol

Voer de meegeleverde database-migratie uit via het normale deploymentproces. De API
vult daarna de ontbrekende PDF-tekst op de achtergrond aan, ook na een herstart.
Dit gebruikt de bestaande begrensde, afgeschermde documentconverter en is niet
afhankelijk van Ollama of een embeddingmodel. Titel- en nummerzoeken werkt direct;
zoeken binnen bestaande PDFs komt beschikbaar zodra deze backfill klaar is.

De backfill verwerkt één PDF tegelijk per API-replica, met een databaseclaim tegen
dubbel werk, een verwerkingstimeout van 10 minuten en een herprobeertermijn van
15 minuten. Fouten worden gelogd. Een mislukte of afgebroken extractie geldt niet
als voltooid. Voltooide versies hoeven na een crash niet opnieuw te worden verwerkt.
`Search:PublishedTextIndexingEnabled=false` schakelt alleen deze backfill uit.

Documenten zonder een goedgekeurde `PublishedPdfVersionId` blijven op metadata
zoekbaar. Publiceer deze na beoordeling opnieuw; kopieer nooit willekeurig de
nieuwste Markdown of upload naar de openbare index. Voor moeilijk leesbare PDFs
blijven de bestaande conversielimieten en OCR-instellingen gelden.

## Controle

Zoek anoniem op een woord dat alleen in een gepubliceerd document voorkomt en
controleer de tab Documenten. Controleer ook de publieke code, een zoekopdracht met
meerdere woorden, een uitsluiting en de tweede resultatenpagina. Herhaal de zoekactie
als beheerder bij een document zonder bewerkbare Markdown. Een term uit een latere
werkversie mag anoniem niet gevonden worden. Bij een API-storing toont de zoekpagina
een foutmelding met Opnieuw proberen, niet de misleidende melding dat er geen
resultaten zijn. Na een mislukte paginawissel mogen resultaten van de vorige pagina
niet onder het nieuwe paginanummer blijven staan.
