feat(knowledge): Add search service #112

Closed
jason.woltje wants to merge 0 commits from feature/know-search into develop
Owner

Summary

Adds full-text search capabilities to the Knowledge Module.

Endpoints

  • GET /api/knowledge/search?q=... - Full-text search
  • GET /api/knowledge/search/by-tags?tags=... - Tag-based filtering
  • GET /api/knowledge/search/recent?limit=... - Recent entries

Features

  • PostgreSQL full-text search (ts_vector, ts_rank)
  • Relevance ranking with weighted scoring
  • Search result highlighting
  • Query sanitization
  • Pagination support
  • Status filtering (PUBLISHED, DRAFT, ARCHIVED)

Tests

  • 14 service tests
  • 7 controller tests

QA Checklist

  • Full-text search returns relevant results
  • Tag search filters correctly
  • Recent entries sorted by updatedAt
  • Pagination works

Closes knowledge search requirement

## Summary Adds full-text search capabilities to the Knowledge Module. ## Endpoints - `GET /api/knowledge/search?q=...` - Full-text search - `GET /api/knowledge/search/by-tags?tags=...` - Tag-based filtering - `GET /api/knowledge/search/recent?limit=...` - Recent entries ## Features - PostgreSQL full-text search (ts_vector, ts_rank) - Relevance ranking with weighted scoring - Search result highlighting - Query sanitization - Pagination support - Status filtering (PUBLISHED, DRAFT, ARCHIVED) ## Tests - 14 service tests - 7 controller tests ## QA Checklist - [ ] Full-text search returns relevant results - [ ] Tag search filters correctly - [ ] Recent entries sorted by updatedAt - [ ] Pagination works Closes knowledge search requirement
jason.woltje added 2 commits 2026-01-30 02:35:55 +00:00
jason.woltje added 1 commit 2026-01-30 02:58:39 +00:00
- Add explicit return types to all SearchController methods
- Import necessary types (PaginatedSearchResults, PaginatedEntries)
- Define RecentEntriesResponse interface for type safety
- Ensures compliance with TypeScript strict typing standards
jason.woltje closed this pull request 2026-01-30 03:01:49 +00:00

Pull request closed

Sign in to join this conversation.