mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-11-13 23:01:11 +08:00
## Summary The DSL no longer supports `output_format` selection. `normalizeParserJSON` (in `internal/ingestion/component/parser.go`) hardcodes `setup["output_format"] = "json"` for every parser setup, so the `ParseResult.Text` field — populated only on the now-unreachable text output path — is dead. This change removes `ParseResult.Text` and every read/write site: - `internal/parser/parser/parse_result.go`: drop the `Text` field and update payload-family helpers (`isPayloadZero`, `payloadFamily`, etc.). - `internal/parser/parser/email_parser.go` / `doc_parser.go`: drop the text-output branches and `output_format:"text"` handling. - `internal/ingestion/component/parser.go`: the normalization already forces `json`; remove the text branch in `normalizeParserJSON` / `buildParserOutputs`. - `internal/service/file/file_content.go`: `parseResultText` no longer reads `res.Text`; it falls back to `res.Markdown` for legacy markdown-only payloads. - `internal/service/document/document_artifact.go`: DOC preview now reads preview text from the JSON items. - `internal/parser/parser/pdf_result.go`: drop the dead `case result.Text != ""` fallback in `NormalizeResult` (no PDF producer sets `parser.ParseResult.Text`; confirmed by grep). ## Test plan - Updated / removed obsolete text-path unit tests; added guard tests (`text_field_removed_test.go`, `text_field_removed_doc_test.go`) asserting the field is gone and JSON is the only output family. - `bash build.sh --test ./internal/parser/parser/... ./internal/ingestion/component/... ./internal/service/file/... ./internal/service/document/...` — all green. - Full `bash build.sh --test` regression — all green (no FAIL). - `bash build.sh --go` builds both `ragflow-cli` and `ragflow_server`. ## Notes `deepdoctype.ParseResult` (a different struct in `internal/deepdoc/parser/type`) still has its own `Text` / `Sections` fields; those are unrelated and intentionally untouched. --------- Co-authored-by: CodeBuddy Code <noreply@codebuddy.ai>