feat(search): surface summary snippet when summary matched the query
Some checks failed
CI / Unit & Component Tests (push) Failing after 2m33s
CI / Backend Unit Tests (push) Failing after 2m44s

Add a summary_snippet column to findEnrichmentData using ts_headline on
documents.summary, only when the summary's tsvector matches the query.
Expose it via SearchMatchData.summarySnippet / summaryOffsets and render
a "Zusammenfassung" / "Summary" / "Resumen" labelled row in the document
list — identical treatment to the transcription snippet row.

Fixes the case where a document appeared in search results with no
visible match explanation (e.g. searching "frucht" found a document
whose summary mentioned "Früchte").

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit was merged in pull request #242.
This commit is contained in:
Marcel
2026-04-15 21:34:10 +02:00
committed by marcel
parent eb18d4f568
commit d7b2357834
7 changed files with 51 additions and 20 deletions

View File

@@ -1588,9 +1588,9 @@ export interface components {
totalPages?: number;
};
DocumentSearchResult: {
documents?: components["schemas"]["Document"][];
documents: components["schemas"]["Document"][];
/** Format: int64 */
total?: number;
total: number;
matchData: {
[key: string]: components["schemas"]["SearchMatchData"];
};
@@ -1608,6 +1608,8 @@ export interface components {
matchedReceiverIds: string[];
matchedTagIds: string[];
snippetOffsets: components["schemas"]["MatchOffset"][];
summarySnippet?: string;
summaryOffsets: components["schemas"]["MatchOffset"][];
};
IncompleteDocumentDTO: {
/** Format: uuid */