Summary
Follow-up to #68 / PR #69.
Phase 1 of #68 asked for a contentSearch tsvector + GIN index, websearch_to_tsquery(), and a matchField indicator (title | content | both) so host UIs can highlight where a hit was found. PR #69 ships title OR content contains plus after/before/sort, which unblocks the host-app search miss, but not the indexed retrieval or match provenance.
Expected
- Persist a plain-text extraction of TipTap
content (or equivalent) and index it.
GET /api/v1/documents?query= and GET /api/doc?keyword= report matchField.
- Keep the current
contains fallback for SQLite / unmigrated environments.
Out of scope
Summary
Follow-up to #68 / PR #69.
Phase 1 of #68 asked for a
contentSearchtsvector + GIN index,websearch_to_tsquery(), and amatchFieldindicator (title|content|both) so host UIs can highlight where a hit was found. PR #69 ships title OR contentcontainsplusafter/before/sort, which unblocks the host-app search miss, but not the indexed retrieval or match provenance.Expected
content(or equivalent) and index it.GET /api/v1/documents?query=andGET /api/doc?keyword=reportmatchField.containsfallback for SQLite / unmigrated environments.Out of scope
type:json after:…) — that belongs in RoleWeave / the embedding app.