Files
gochat/internal/search/engine_db.go
T

44 lines
1.2 KiB
Go

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 NewSearchService(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
}