Documentation
¶
Index ¶
- Variables
- type Client
- func (c *Client) BulkDelete(ctx context.Context, index string, documentIDs []string) error
- func (c *Client) BulkIndex(ctx context.Context, index string, documents []any) error
- func (c *Client) BulkIndexWith(ctx context.Context, engine Engine, index string, documents []any) error
- func (c *Client) Delete(ctx context.Context, index, documentID string) error
- func (c *Client) GetAvailableEngines() []Engine
- func (c *Client) GetEngine() Engine
- func (c *Client) GetIndexPrefix() string
- func (c *Client) GetSearchConfig() *config.Search
- func (c *Client) Health(ctx context.Context) map[Engine]error
- func (c *Client) Index(ctx context.Context, req *IndexRequest) error
- func (c *Client) IndexWith(ctx context.Context, engine Engine, req *IndexRequest) error
- func (c *Client) Search(ctx context.Context, req *Request) (*Response, error)
- func (c *Client) SearchWith(ctx context.Context, engine Engine, req *Request) (*Response, error)
- func (c *Client) SetIndexPrefix(prefix string)
- func (c *Client) UpdateSearchConfig(searchConfig *config.Search)
- type Engine
- type Hit
- type IndexRequest
- type Request
- type Response
Constants ¶
This section is empty.
Variables ¶
var ( ErrNoEngineAvailable = errors.New("no search engine available") ErrEngineNotFound = errors.New("search engine not found") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client unified search client with configuration support
func NewClient ¶
func NewClient(es *elastic.Client, os *opensearch.Client, ms *meili.Client, collector metrics.Collector) *Client
NewClient creates new unified search client
func NewClientWithConfig ¶
func NewClientWithConfig(es *elastic.Client, os *opensearch.Client, ms *meili.Client, collector metrics.Collector, searchConfig *config.Search) *Client
NewClientWithConfig creates new unified search client with search config
func NewClientWithPrefix ¶
func NewClientWithPrefix(es *elastic.Client, os *opensearch.Client, ms *meili.Client, collector metrics.Collector, prefix string) *Client
NewClientWithPrefix creates new unified search client with index prefix
func (*Client) BulkDelete ¶
BulkDelete performs bulk deletion
func (*Client) BulkIndexWith ¶
func (c *Client) BulkIndexWith(ctx context.Context, engine Engine, index string, documents []any) error
BulkIndexWith performs bulk indexing
func (*Client) GetAvailableEngines ¶
GetAvailableEngines returns available engines
func (*Client) GetIndexPrefix ¶
GetIndexPrefix returns the current index prefix
func (*Client) GetSearchConfig ¶
GetSearchConfig returns current search configuration
func (*Client) Index ¶
func (c *Client) Index(ctx context.Context, req *IndexRequest) error
Index indexes document
func (*Client) SearchWith ¶
SearchWith searches using specified engine
func (*Client) SetIndexPrefix ¶
SetIndexPrefix sets the index prefix
func (*Client) UpdateSearchConfig ¶
UpdateSearchConfig updates search configuration
type Hit ¶
type Hit struct {
ID string `json:"id"`
Score float64 `json:"score"`
Source map[string]any `json:"source"`
}
Hit represents search result item
type IndexRequest ¶
type IndexRequest struct {
Index string `json:"index"`
DocumentID string `json:"document_id,omitempty"`
Document any `json:"document"`
}
IndexRequest represents document indexing request