Added comprehensive full text search capabilities as a lightweight plugin. Key features: - SQLite FTS5-based search engine with no external dependencies - Automatic indexing via database triggers for real-time updates - Advanced query support: phrase search, boolean operators, proximity search - Complete CLI interface with search commands - Graceful fallback to LIKE queries when FTS5 unavailable - Plugin architecture integration for extensibility CLI Commands: - `markitect search init` - Initialize search indexes - `markitect search query` - Perform full text searches - `markitect search status` - View index statistics - `markitect search rebuild` - Rebuild indexes from scratch Search Features: - Content type filtering (files, schemas, all) - Result pagination and formatting options - Query validation and syntax assistance - Performance optimization and index maintenance Technical Implementation: - FTSSearchPlugin: Main search plugin class - SearchIndexer: FTS5 table management and indexing - QueryParser: Query optimization and FTS5 syntax conversion - Comprehensive error handling and fallback mechanisms - 25 test cases covering all functionality Documentation includes complete usage guide and examples. Resolves issue #83: Full text search 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
12 lines
348 B
Python
12 lines
348 B
Python
"""
|
|
Full text search plugin for MarkiTect using SQLite FTS5.
|
|
|
|
Provides lightweight, high-performance full text search capabilities
|
|
as a plugin to the MarkiTect system.
|
|
"""
|
|
|
|
from .fts_search import FTSSearchPlugin
|
|
from .indexer import SearchIndexer
|
|
from .query_parser import QueryParser
|
|
|
|
__all__ = ['FTSSearchPlugin', 'SearchIndexer', 'QueryParser'] |