Documentation
¶
Index ¶
- Variables
- func IsError(r *http.Response) bool
- type CatIndex
- type Client
- type ClientEngines
- type CreateEngineOptions
- type CreateIndexOptions
- type DeleteByQueryResponse
- type DocumentMeta
- type DocumentOptions
- type Engine
- type EngineIndexes
- type EngineInfo
- type Index
- type IndexDocuments
- type MultiQuery
- type SearchResponse
Constants ¶
This section is empty.
Variables ¶
View Source
var IsAlphanumeric = regexp.MustCompile("^[a-zA-Z0-9]*$").MatchString
View Source
var IsLetter = regexp.MustCompile(`^[a-zA-Z]+$`).MatchString
Functions ¶
Types ¶
type CatIndex ¶
type CatIndex struct {
Health string `json:"health"`
Status string `json:"status"`
Index string `json:"index"`
Uuid string `json:"uuid"`
Pri string `json:"pri"`
Rep string `json:"rep"`
DocsCount string `json:"docs.count"`
DocsDeleted string `json:"docs.deleted"`
StoreSize string `json:"store.size"`
PriStoreSize string `json:"pri.store.size"`
}
type Client ¶
type Client interface {
// Init makes sure that the elastic server or cluster is configured for clinia
Init(ctx context.Context) error
// Clean makes sure the the elastic server or cluster removes all clinia configuration
Clean(ctx context.Context) error
ClientEngines
}
Client provides access to a single Elastic server, or an entire cluster of Elastic servers.
type ClientEngines ¶
type ClientEngines interface {
// Engine opens a connection to an exisiting engine.
// If no engine with given name exists, a NotFoundError is returned.
Engine(ctx context.Context, name string) (Engine, error)
// EngineExists returns true if an engine with given name exists.
EngineExists(ctx context.Context, name string) (bool, error)
// Engines returns a list of all engines found by the client.
Engines(ctx context.Context) ([]Engine, error)
// CreateEngine creates a new engine with given name and opens a connection to it.
// If the a database with given name already exists, a DuplicateError is returned.
CreateEngine(ctx context.Context, name string, options *CreateEngineOptions) (Engine, error)
}
ClientEngines provides access to the engines in a single elastic server, or an entire cluster of elastic servers.
type CreateEngineOptions ¶
type CreateEngineOptions struct {
}
CreateEngineOptions contains options that customize the creation of a database.
type CreateIndexOptions ¶
type CreateIndexOptions struct {
Aliases map[string]types.Alias
Settings *types.IndexSettings
Mappings *types.TypeMapping
}
CreateIndexOptions contains options that customize the creation of an index.
type DeleteByQueryResponse ¶
type DeleteByQueryResponse struct {
Took int `json:"took"`
TimedOut bool `json:"timed_out"`
Total int `json:"total"`
Deleted int `json:"deleted"`
Batches int `json:"batches"`
VersionConflicts int `json:"version_conflicts"`
Noops int `json:"noops"`
Retries struct {
Bulk int `json:"bulk"`
Search int `json:"search"`
}
ThrottledMillis int `json:"throttled_millis"`
RequestsPerSecond float32 `json:"requests_per_second"`
ThrottledUntilMillis int `json:"throttled_until_millis"`
Failures []json.RawMessage `json:"failures"`
}
type DocumentMeta ¶
type DocumentOptions ¶
type DocumentOptions struct {
Refresh string
}
type Engine ¶
type Engine interface {
// Name returns the name of the engine.
Name() string
// Info fetches the information about the engine.
Info(ctx context.Context) (*EngineInfo, error)
// Remove removes the entire engine.
// If the engine does not exists, a NotFoundError us returned
Remove(ctx context.Context) error
// Index functions
EngineIndexes
// Query performs a search request to Elastic Search
Query(ctx context.Context, query string, index ...string) (*SearchResponse, error)
// Queries performs a multi search request to Elastic Search
Queries(ctx context.Context, queries ...MultiQuery) (map[string]SearchResponse, error)
}
Engine provides access to all indexes in a single engine.
type EngineIndexes ¶
type EngineIndexes interface {
// Index opens a connection to an exisiting index within the engine.
// If no index with given name exists, a NotFoundError is returned.
Index(ctx context.Context, name string) (Index, error)
// IndexExists returns true if an index with given name exists within the engine.
IndexExists(ctx context.Context, name string) (bool, error)
// Indexes returns a list of all indexes in the engine.
Indexes(ctx context.Context) ([]Index, error)
// CreateIndex creates a new index,
// with given name, and opens a connection to it.
CreateIndex(ctx context.Context, name string, options *CreateIndexOptions) (Index, error)
}
EngineIndexes provides access to all indexes in a single engine.
type EngineInfo ¶
type Index ¶
type Index interface {
// Name returns the name of the index.
Name() string
// Engine returns the engine containing the index.
Engine() Engine
// Remove removes the entire index.
// If the view does not exists, a NotFoundError us returned.
Remove(ctx context.Context) error
// All document functions
IndexDocuments
}
Index provides access to the information of an index.
type IndexDocuments ¶
type IndexDocuments interface {
// DocumentExists checks if a document with given id exists in the index.
DocumentExists(ctx context.Context, id string) (bool, error)
// ReadDocument reads a single document with given id from the index.
// The document data is stored into result, the document metadata is returned.
// If no document exists with given id, a NotFoundError is returned.
ReadDocument(ctx context.Context, id string, result interface{}) (*DocumentMeta, error)
// CreateDocument creates a single document in the index.
// The document data is loaded from the given document, the document metadata is returned.
// If the document data already contains a `_key` field, this will be used as key of the new document,
// otherwise a unique key is created.
CreateDocument(ctx context.Context, document interface{}, options *DocumentOptions) (*DocumentMeta, error)
// ReplaceDocument replaces a single document with given key in the collection with the document given in the document argument.
// The document metadata is returned.
// If no document exists with given key, a NotFoundError is returned.
ReplaceDocument(ctx context.Context, key string, document interface{}, options *DocumentOptions) (*DocumentMeta, error)
// DeleteDocument deletes a single document with given key in the collection.
// No error is returned when the document is successfully deleted.
// If no document exists with given key, a NotFoundError is returned.
DeleteDocument(ctx context.Context, key string, options *DocumentOptions) error
}
type MultiQuery ¶
type SearchResponse ¶
type SearchResponse struct {
Took int `json:"took"`
Hits struct {
Total struct {
Value int
}
Hits []struct {
ID string `json:"_id"`
Source json.RawMessage `json:"_source"`
Highlights json.RawMessage `json:"highlight"`
Sort []interface{} `json:"sort"`
}
}
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.