Documentation
¶
Index ¶
- func GetTx(ctx context.Context) (*sql.Tx, error)
- type ContextKey
- type Data
- func (d *Data) BulkDeleteDocuments(ctx context.Context, index string, documentIDs []string) error
- func (d *Data) BulkIndexDocuments(ctx context.Context, index string, documents []any) error
- func (d *Data) BulkIndexDocumentsWith(ctx context.Context, engine search.Engine, index string, documents []any) error
- func (d *Data) Close() []error
- func (d *Data) ConsumeFromKafka(ctx context.Context, topic, groupID string, handler func([]byte) error) error
- func (d *Data) ConsumeFromRabbitMQ(queue string, handler func([]byte) error) error
- func (d *Data) DB() *sql.DB
- func (d *Data) DBRead() (*sql.DB, error)
- func (d *Data) DeleteDocument(ctx context.Context, index, documentID string) error
- func (d *Data) GetAvailableSearchEngines() []search.Engine
- func (d *Data) GetDBManager() *connection.DBManager
- func (d *Data) GetDatabaseNodes() (master *sql.DB, slaves []*sql.DB, err error)
- func (d *Data) GetElasticsearch() *elastic.Client
- func (d *Data) GetMasterDB() *sql.DB
- func (d *Data) GetMeilisearch() *meili.Client
- func (d *Data) GetMetricsCollector() metrics.Collector
- func (d *Data) GetMongoCollection(dbName, collName string, readOnly bool) (*mongo.Collection, error)
- func (d *Data) GetMongoDatabase(name string, readOnly bool) (*mongo.Database, error)
- func (d *Data) GetMongoManager() *connection.MongoManager
- func (d *Data) GetOpenSearch() *opensearch.Client
- func (d *Data) GetRedis() *redis.Client
- func (d *Data) GetSearchConfig() *config.Search
- func (d *Data) GetSearchEngine() search.Engine
- func (d *Data) GetSearchIndexPrefix() string
- func (d *Data) GetSlaveDB() (*sql.DB, error)
- func (d *Data) GetStats() map[string]any
- func (d *Data) Health(ctx context.Context) map[string]any
- func (d *Data) IndexDocument(ctx context.Context, req *search.IndexRequest) error
- func (d *Data) IndexDocumentWith(ctx context.Context, engine search.Engine, req *search.IndexRequest) error
- func (d *Data) IndexWithElasticsearch(ctx context.Context, index, documentID string, document any) error
- func (d *Data) IndexWithMeilisearch(index string, documents any, primaryKey ...string) error
- func (d *Data) IndexWithOpenSearch(ctx context.Context, index, documentID string, document any) error
- func (d *Data) IsMessagingAvailable() bool
- func (d *Data) IsMessagingEnabled() bool
- func (d *Data) IsQueueAvailable() bool
- func (d *Data) IsReadOnlyMode(ctx context.Context) bool
- func (d *Data) MongoHealthCheck(ctx context.Context) error
- func (d *Data) Ping(ctx context.Context) error
- func (d *Data) PublishToKafka(ctx context.Context, topic string, key, value []byte) error
- func (d *Data) PublishToRabbitMQ(exchange, routingKey string, body []byte) error
- func (d *Data) Search(ctx context.Context, req *search.Request) (*search.Response, error)
- func (d *Data) SearchHealth(ctx context.Context) map[search.Engine]error
- func (d *Data) SearchWith(ctx context.Context, engine search.Engine, req *search.Request) (*search.Response, error)
- func (d *Data) SearchWithElasticsearch(ctx context.Context, index, query string) error
- func (d *Data) SearchWithMeilisearch(ctx context.Context, index, query string) error
- func (d *Data) SearchWithOpenSearch(ctx context.Context, index, query string) error
- func (d *Data) SetSearchIndexPrefix(prefix string)
- func (d *Data) ShouldUseMemoryFallback() bool
- func (d *Data) UpdateSearchConfig(searchConfig *config.Search)
- func (d *Data) WithMongoTransaction(ctx context.Context, fn func(mongo.SessionContext) error) error
- func (d *Data) WithTx(ctx context.Context, fn func(ctx context.Context) error) error
- func (d *Data) WithTxRead(ctx context.Context, fn func(ctx context.Context) error) error
- type Option
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Data ¶
type Data struct {
Conn *connection.Connections
RabbitMQ *rabbitmq.RabbitMQ
Kafka *kafka.Kafka
// contains filtered or unexported fields
}
Data represents the data layer implementation
func NewWithOptions ¶ added in v0.1.4
NewWithOptions creates new data layer with options
func (*Data) BulkDeleteDocuments ¶ added in v0.1.4
BulkDeleteDocuments deletes multiple documents using best available engine
func (*Data) BulkIndexDocuments ¶ added in v0.1.4
BulkIndexDocuments indexes multiple documents using best available engine
func (*Data) BulkIndexDocumentsWith ¶ added in v0.1.4
func (d *Data) BulkIndexDocumentsWith(ctx context.Context, engine search.Engine, index string, documents []any) error
BulkIndexDocumentsWith indexes multiple documents using specified engine
func (*Data) ConsumeFromKafka ¶
func (d *Data) ConsumeFromKafka(ctx context.Context, topic, groupID string, handler func([]byte) error) error
ConsumeFromKafka consumes messages from Kafka with metrics
func (*Data) ConsumeFromRabbitMQ ¶
ConsumeFromRabbitMQ consumes messages from RabbitMQ with metrics
func (*Data) DB ¶
DB returns the master database connection Deprecated: Use GetMasterDB() for better clarity
func (*Data) DBRead ¶
DBRead returns a slave database connection Deprecated: Use GetSlaveDB() for better clarity
func (*Data) DeleteDocument ¶ added in v0.1.4
DeleteDocument deletes document using best available engine
func (*Data) GetAvailableSearchEngines ¶ added in v0.1.4
GetAvailableSearchEngines returns available search engines
func (*Data) GetDBManager ¶
func (d *Data) GetDBManager() *connection.DBManager
GetDBManager returns the database manager
func (*Data) GetDatabaseNodes ¶ added in v0.1.4
GetDatabaseNodes returns information about all database nodes (master and slaves)
func (*Data) GetElasticsearch ¶
GetElasticsearch returns the Elasticsearch client
func (*Data) GetMasterDB ¶ added in v0.1.4
GetMasterDB returns the master database connection for write operations
func (*Data) GetMeilisearch ¶
GetMeilisearch returns the Meilisearch client
func (*Data) GetMetricsCollector ¶ added in v0.1.4
GetMetricsCollector returns the metrics collector
func (*Data) GetMongoCollection ¶ added in v0.1.4
func (d *Data) GetMongoCollection(dbName, collName string, readOnly bool) (*mongo.Collection, error)
GetMongoCollection returns a MongoDB collection instance
func (*Data) GetMongoDatabase ¶ added in v0.1.4
GetMongoDatabase returns a MongoDB database instance
func (*Data) GetMongoManager ¶
func (d *Data) GetMongoManager() *connection.MongoManager
GetMongoManager returns the MongoDB manager
func (*Data) GetOpenSearch ¶ added in v0.1.4
func (d *Data) GetOpenSearch() *opensearch.Client
GetOpenSearch returns the OpenSearch client
func (*Data) GetSearchConfig ¶ added in v0.1.17
GetSearchConfig returns current search configuration
func (*Data) GetSearchEngine ¶ added in v0.1.4
GetSearchEngine returns search engine
func (*Data) GetSearchIndexPrefix ¶ added in v0.1.17
GetSearchIndexPrefix returns current search index prefix
func (*Data) GetSlaveDB ¶ added in v0.1.4
GetSlaveDB returns slave database connection for read operations
func (*Data) Health ¶ added in v0.1.4
Health checks all components with comprehensive metrics collection
func (*Data) IndexDocument ¶ added in v0.1.4
IndexDocument indexes document using best available engine
func (*Data) IndexDocumentWith ¶ added in v0.1.4
func (d *Data) IndexDocumentWith(ctx context.Context, engine search.Engine, req *search.IndexRequest) error
IndexDocumentWith indexes document using specified engine
func (*Data) IndexWithElasticsearch ¶ added in v0.1.4
func (d *Data) IndexWithElasticsearch(ctx context.Context, index, documentID string, document any) error
IndexWithElasticsearch indexes documents with Elasticsearch Deprecated: Use IndexDocument() or IndexDocumentWith() instead
func (*Data) IndexWithMeilisearch ¶ added in v0.1.4
IndexWithMeilisearch indexes documents with Meilisearch Deprecated: Use IndexDocument() or IndexDocumentWith() instead
func (*Data) IndexWithOpenSearch ¶ added in v0.1.4
func (d *Data) IndexWithOpenSearch(ctx context.Context, index, documentID string, document any) error
IndexWithOpenSearch indexes documents with OpenSearch Deprecated: Use IndexDocument() or IndexDocumentWith() instead
func (*Data) IsMessagingAvailable ¶ added in v0.1.2
IsMessagingAvailable checks if any messaging (queue or memory) is available Deprecated: Use IsMessagingEnabled() and IsQueueAvailable() separately
func (*Data) IsMessagingEnabled ¶ added in v0.1.16
IsMessagingEnabled checks if messaging services
func (*Data) IsQueueAvailable ¶ added in v0.1.16
IsQueueAvailable checks if external message queues are available
func (*Data) IsReadOnlyMode ¶ added in v0.1.4
IsReadOnlyMode checks if the system is in read-only mode (only slaves available)
func (*Data) MongoHealthCheck ¶ added in v0.1.4
MongoHealthCheck performs MongoDB health check
func (*Data) PublishToKafka ¶
PublishToKafka publishes message to Kafka with metrics
func (*Data) PublishToRabbitMQ ¶
PublishToRabbitMQ publishes message to RabbitMQ with metrics
func (*Data) SearchHealth ¶ added in v0.1.4
SearchHealth checks search engines health
func (*Data) SearchWith ¶ added in v0.1.4
func (d *Data) SearchWith(ctx context.Context, engine search.Engine, req *search.Request) (*search.Response, error)
SearchWith performs search using specified engine
func (*Data) SearchWithElasticsearch ¶ added in v0.1.4
SearchWithElasticsearch searches with Elasticsearch Deprecated: Use Search() or SearchWith() instead
func (*Data) SearchWithMeilisearch ¶ added in v0.1.4
SearchWithMeilisearch searches with Meilisearch Deprecated: Use Search() or SearchWith() instead
func (*Data) SearchWithOpenSearch ¶ added in v0.1.4
SearchWithOpenSearch searches with OpenSearch Deprecated: Use Search() or SearchWith() instead
func (*Data) SetSearchIndexPrefix ¶ added in v0.1.17
SetSearchIndexPrefix sets custom index prefix for search operations
func (*Data) ShouldUseMemoryFallback ¶ added in v0.1.16
ShouldUseMemoryFallback checks if should fallback to memory when queue unavailable
func (*Data) UpdateSearchConfig ¶ added in v0.1.17
UpdateSearchConfig updates search configuration
func (*Data) WithMongoTransaction ¶ added in v0.1.4
WithMongoTransaction executes function within MongoDB transaction
type Option ¶
type Option func(*Data)
Option function type for configuring Data
func WithExtensionCollector ¶ added in v0.1.4
func WithExtensionCollector(collector metrics.ExtensionCollector) Option
WithExtensionCollector sets extension layer collector using adapter
func WithIndexPrefix ¶ added in v0.1.17
WithIndexPrefix sets custom search index prefix
func WithMetricsCollector ¶ added in v0.1.4
WithMetricsCollector sets the metrics collector
func WithSearchConfig ¶ added in v0.1.17
WithSearchConfig sets search configuration
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
cache
module
|
|
|
databases
|
|
|
elasticsearch
module
|
|
|
entgo
module
|
|
|
kafka
module
|
|
|
meilisearch
module
|
|
|
messaging
|
|
|
mongodb
module
|
|
|
mysql
module
|
|
|
neo4j
module
|
|
|
opensearch
module
|
|
|
postgres
module
|
|
|
rabbitmq
module
|
|
|
redis
module
|
|
|
sqlite
module
|
|