23 lines
1.2 KiB
Markdown
23 lines
1.2 KiB
Markdown
# 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
|
|
```
|