Implements FTS5-based full-text search for notes as specified in ADR-034. Changes: - Created migration 005_add_fts5_search.sql with FTS5 virtual table - Created starpunk/search.py module with search functions - Integrated FTS index updates into create_note() and update_note() - DELETE trigger automatically removes notes from FTS index - INSERT/UPDATE handled by application code (files not in DB) Features: - Porter stemming for better English search - Unicode normalization for international characters - Relevance ranking with snippets - Graceful degradation if FTS5 unavailable - Helper function to rebuild index if needed Note: Initial FTS index population needs to be added to app startup. Part of v1.1.0 (Phase 3). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1.9 KiB
1.9 KiB