package search import ( "context" applogger "github.com/gochat/gochat/pkg/logger" ) // SearchEngineDB adapts the existing repository-backed search into the engine // contract. It is intentionally a development fallback; production parity uses // Meilisearch. type SearchEngineDB struct { repo SearchRepoInterface } func NewSearchEngineDB(repo SearchRepoInterface) *SearchEngineDB { applogger.L().Warn("Search engine: db fallback enabled; Meilisearch is required for production Chatwoot parity") return &SearchEngineDB{repo: repo} } func (e *SearchEngineDB) Search(ctx context.Context, accountID uint, query string, filter *SearchFilter) (*SearchResponse, error) { return (&SearchService{searchRepo: e.repo}).GlobalSearch(ctx, accountID, query, filter) } func (e *SearchEngineDB) IndexDocument(ctx context.Context, doc SearchDocument) error { return nil } func (e *SearchEngineDB) IndexBatch(ctx context.Context, docs []SearchDocument) error { return nil } func (e *SearchEngineDB) DeleteDocument(ctx context.Context, docType SearchResultType, accountID uint, id uint) error { return nil } func (e *SearchEngineDB) Bootstrap(ctx context.Context) error { return nil } func (e *SearchEngineDB) Close() error { return nil }