tercul-backend/internal/platform/search/weaviate_wrapper_mock.go
google-labs-jules[bot] d0852353b7
feat: Add SearchAlpha support for hybrid search tuning
Add configurable SearchAlpha parameter for hybrid search tuning

- Added SearchAlpha config parameter (default: 0.7) for tuning BM25 vs vector search balance
- Updated NewWeaviateWrapper to accept host and searchAlpha parameters
- Enhanced hybrid search with configurable alpha parameter via WithAlpha()
- Fixed all type mismatches in mocks and tests to use domainsearch.SearchResults
- Updated GraphQL resolver to use new SearchResults structure with SearchResultItem
- All tests and vet checks passing

Closes #30
2025-11-30 03:34:32 +01:00

27 lines
648 B
Go

package search
import (
"context"
"tercul/internal/domain"
domainsearch "tercul/internal/domain/search"
"github.com/stretchr/testify/mock"
)
type MockWeaviateWrapper struct {
mock.Mock
}
func (m *MockWeaviateWrapper) Search(ctx context.Context, params domainsearch.SearchParams) (*domainsearch.SearchResults, error) {
args := m.Called(ctx, params)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*domainsearch.SearchResults), args.Error(1)
}
func (m *MockWeaviateWrapper) IndexWork(ctx context.Context, work *domain.Work, content string) error {
args := m.Called(ctx, work, content)
return args.Error(0)
}