From 875ca966e95701b5cf6ee7862ec6dedacaadf738 Mon Sep 17 00:00:00 2001 From: Jack Date: Tue, 11 Aug 2026 22:15:15 +0800 Subject: [PATCH] refactor(parser): preserve HTML structure (inline + structured item) (#18129) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stop flattening `
` into a single text blob. A `
` now emits: 1. an inlined `doc_type_kwd:"text"` item keeping the `
` markup (row/column structure survives for embedding/retrieval/LLM rendering), 2. a structured `doc_type_kwd:"table"` / `ck_type:"table"` item appended after the walk, consumed by the downstream chunker. --- internal/parser/parser/html_parser.go | 84 +++- .../parser/parser/html_parser_align_test.go | 380 ++++++++++++++++++ .../testdata/html.python.en.golden.json | 33 ++ .../testdata/html.python.zh.golden.json | 33 ++ .../parser/testdata/html.sample.en.html | 11 + .../parser/testdata/html.sample.zh.html | 11 + 6 files changed, 545 insertions(+), 7 deletions(-) create mode 100644 internal/parser/parser/html_parser_align_test.go create mode 100644 internal/parser/parser/testdata/html.python.en.golden.json create mode 100644 internal/parser/parser/testdata/html.python.zh.golden.json create mode 100644 internal/parser/parser/testdata/html.sample.en.html create mode 100644 internal/parser/parser/testdata/html.sample.zh.html diff --git a/internal/parser/parser/html_parser.go b/internal/parser/parser/html_parser.go index 313f080843..9feb8438b6 100644 --- a/internal/parser/parser/html_parser.go +++ b/internal/parser/parser/html_parser.go @@ -107,6 +107,10 @@ func (p *HTMLParser) ParseWithResult(ctx context.Context, filename string, data //