28 lines
476 B
Go
28 lines
476 B
Go
package search
|
|
|
|
type Result struct {
|
|
Key string
|
|
Filename string
|
|
FilePath string
|
|
LineNumber int
|
|
LineText string
|
|
Context []string // Lines before/after for display
|
|
Score float64 // For vector search relevance
|
|
}
|
|
|
|
type Options struct {
|
|
MaxResults int
|
|
ContextLines int
|
|
}
|
|
|
|
func DefaultOptions() Options {
|
|
return Options{
|
|
MaxResults: 20,
|
|
ContextLines: 2,
|
|
}
|
|
}
|
|
|
|
type Searcher interface {
|
|
Search(query string, opts Options) ([]Result, error)
|
|
}
|