Documentation
¶
Overview ¶
Package search provides full-text search across specification files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SearchOptions ¶
type SearchOptions struct {
Limit int // Maximum results to return (default 20)
Projects []string // Filter by project names (empty = all)
SpecTypes []string // Filter by spec types (mrd, prd, trd, etc.)
CaseSensitive bool // Case sensitive matching
Regex bool // Treat query as regex
ContextLines int // Lines of context around match (default 1)
}
SearchOptions configures search behavior.
func DefaultSearchOptions ¶
func DefaultSearchOptions() SearchOptions
DefaultSearchOptions returns sensible defaults.
type SearchOutput ¶
type SearchOutput struct {
Query string `json:"query"`
TotalHits int `json:"total_hits"`
Results []*SearchResult `json:"results"`
Took string `json:"took"`
ByProject map[string]int `json:"by_project,omitempty"`
BySpecType map[string]int `json:"by_spec_type,omitempty"`
Truncated bool `json:"truncated,omitempty"`
}
SearchOutput contains the full search response.
type SearchResult ¶
type SearchResult struct {
Project string `json:"project"`
SpecType string `json:"spec_type"`
FilePath string `json:"file_path"`
Line int `json:"line"`
Score float64 `json:"score"`
Snippet string `json:"snippet"`
Context string `json:"context,omitempty"`
MatchCount int `json:"match_count"`
}
SearchResult represents a single search hit.
type Searcher ¶
type Searcher struct {
// contains filtered or unexported fields
}
Searcher provides full-text search over spec files.
func NewSearcher ¶
NewSearcher creates a new searcher for a specs directory.
func (*Searcher) Search ¶
func (s *Searcher) Search(query string, opts SearchOptions) (*SearchOutput, error)
Search performs a full-text search across specs.
Click to show internal directories.
Click to hide internal directories.