Documentation
¶
Index ¶
- type Config
- type SearchEngine
- func (s *SearchEngine) Count(ctx context.Context) (int64, error)
- func (s *SearchEngine) Delete(ctx context.Context, chunkIDs []string) error
- func (s *SearchEngine) DeleteByDocument(ctx context.Context, documentID string) error
- func (s *SearchEngine) DeleteByDocuments(ctx context.Context, documentIDs []string) error
- func (s *SearchEngine) DeleteBySource(ctx context.Context, sourceID string) error
- func (s *SearchEngine) HealthCheck(ctx context.Context) error
- func (s *SearchEngine) Index(ctx context.Context, chunks []*domain.Chunk) error
- func (s *SearchEngine) IndexDocument(ctx context.Context, doc *domain.DocumentContent) error
- func (s *SearchEngine) Search(ctx context.Context, query string, queryEmbedding []float32, ...) ([]*domain.RankedChunk, int, error)
- func (s *SearchEngine) SearchDocuments(ctx context.Context, query string, opts domain.SearchOptions) ([]driven.DocumentResult, int, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// URL is the OpenSearch endpoint (e.g., "http://localhost:9200")
URL string
// IndexName is the name of the index to use for chunks
IndexName string
// Timeout for requests
Timeout time.Duration
// InsecureSkipVerify disables TLS certificate verification (development only)
InsecureSkipVerify bool
}
Config holds OpenSearch connection configuration
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns a configuration with sensible defaults
type SearchEngine ¶
type SearchEngine struct {
// contains filtered or unexported fields
}
SearchEngine implements the driven.SearchEngine port using OpenSearch
func NewSearchEngine ¶
func NewSearchEngine(cfg Config) (*SearchEngine, error)
NewSearchEngine creates a new OpenSearch search engine adapter
func (*SearchEngine) Count ¶
func (s *SearchEngine) Count(ctx context.Context) (int64, error)
Count returns the total number of indexed chunks
func (*SearchEngine) Delete ¶
func (s *SearchEngine) Delete(ctx context.Context, chunkIDs []string) error
Delete deletes chunks by IDs
func (*SearchEngine) DeleteByDocument ¶
func (s *SearchEngine) DeleteByDocument(ctx context.Context, documentID string) error
DeleteByDocument deletes all chunks for a document
func (*SearchEngine) DeleteByDocuments ¶
func (s *SearchEngine) DeleteByDocuments(ctx context.Context, documentIDs []string) error
DeleteByDocuments deletes all chunks for multiple documents in a single operation
func (*SearchEngine) DeleteBySource ¶
func (s *SearchEngine) DeleteBySource(ctx context.Context, sourceID string) error
DeleteBySource deletes all chunks for a source
func (*SearchEngine) HealthCheck ¶
func (s *SearchEngine) HealthCheck(ctx context.Context) error
HealthCheck verifies the search engine is available
func (*SearchEngine) IndexDocument ¶
func (s *SearchEngine) IndexDocument(ctx context.Context, doc *domain.DocumentContent) error
IndexDocument indexes a full document for BM25 text search. Uses document_id as the OpenSearch document _id for upsert semantics.
func (*SearchEngine) Search ¶
func (s *SearchEngine) Search(ctx context.Context, query string, queryEmbedding []float32, opts domain.SearchOptions) ([]*domain.RankedChunk, int, error)
Search performs a BM25 text search
func (*SearchEngine) SearchDocuments ¶
func (s *SearchEngine) SearchDocuments(ctx context.Context, query string, opts domain.SearchOptions) ([]driven.DocumentResult, int, error)
SearchDocuments performs a BM25 text search returning document-level results.