# enrich_fulltext_v1.1

**Verze:** 1.1
**Datum:** 2026-06-03
**Skript:** `enrich_fulltext_v1.1.py`

## Změny proti v1.0
- **NUL bajty (0x00) v textu** — PG TEXT je odmítá. v1.1 odstraní všechny `\x00` a ostatní controly (kromě `\n \r \t`) ve společné funkci `_clean_for_pg`, navíc bezpečnostní strip i v `_flush` před UPSERT.
- **DOCX fallback** — pokud python-docx hodí výjimku (typicky `"no tr above topmost tr in w:tbl"` u VTMF formulářů s rozbitými tabulkami), v1.1 sáhne přímo do `word/document.xml` v ZIPu a regexem vytáhne text z `<w:t>` elementů. Přijde o strukturu tabulek, ale text zachrání.
- `extractor_version` zvýšena na `1.1` → všechny řádky z v1.0 se přeparsují (původní jsou pravděpodobně stejně chyběly kvůli pádu).

## Vše ostatní
Beze změny proti [v1.0](Trash/enrich_fulltext_v1.0.md):
- Tabulka `documents` v PG `MongoSoubory` (192.168.1.76:5432)
- Text search config `soubory` (simple + unaccent)
- Limity: PDF 500 MB, XLSX 200 MB, ostatní 300 MB; text max 5 MB
- Inkrementálně podle `sha256` + `extractor_version`

## Spuštění
```
python U:\PythonProject\Janssen\Soubory\enrich_fulltext_v1.1.py
```
