Documentation
¶
Index ¶
- func DefaultDocumentBody(model interface{}) (io.Reader, error)
- func DefaultDocumentID(model interface{}) string
- func DefaultIndexName(model interface{}) string
- func DefaultParseDocument(model interface{}, reader io.Reader) error
- func DocumentBody(model interface{}) (io.Reader, error)
- func DocumentID(model interface{}) string
- func IndexName(model interface{}) string
- func MustDocumentBody(model interface{}) io.Reader
- func ParseDocument(model interface{}, reader io.Reader) error
- func SetGlobalConfig(cfg GlobalConfig)
- type CustomDocumentBodyModel
- type CustomDocumentIdModel
- type CustomIndexNameModel
- type GlobalConfig
- type Indexer
- func (indexer *Indexer) CreateIndex(model interface{}, baseReqs ...*esapi.IndicesCreateRequest) error
- func (indexer *Indexer) CreateIndexIfNotExist(model interface{}, baseReqs ...*esapi.IndicesCreateRequest) error
- func (indexer *Indexer) Delete(model interface{}, baseReqs ...*esapi.DeleteRequest) error
- func (indexer *Indexer) DeleteIndex(model interface{}) error
- func (indexer *Indexer) Get(model interface{}, baseReqs ...*esapi.GetRequest) error
- func (indexer *Indexer) Update(model interface{}, baseReqs ...*esapi.IndexRequest) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DefaultDocumentBody ¶
DefaultDocumentBody returns a default DocumentBody. It will be executed if you do not implement CustomDocumentBodyModel.
func DefaultDocumentID ¶
func DefaultDocumentID(model interface{}) string
DefaultDocumentID returns a default DocumentID. It will be executed if you do not implement CustomDocumentIdModel.
func DefaultIndexName ¶
func DefaultIndexName(model interface{}) string
DefaultIndexName returns a default IndexName. It will be executed if you do not implement CustomIndexNameModel.
func DefaultParseDocument ¶
DefaultParseDocument parse the content of reader, and update the model. It will be executed if you do not implement CustomDocumentBodyModel.
func DocumentBody ¶
DocumentBody transforms the model into a data structure that is stored in Elasticsearch. By default, it execute json.Marshal.
func DocumentID ¶
func DocumentID(model interface{}) string
DocumentID returns a document id of the model. By default, it returns value of id or ID field in the model. Otherwise, it returns an empty string.
func IndexName ¶
func IndexName(model interface{}) string
IndexName returns an index name of the model. By default, it returns converted to snake case the struct name of model.
func MustDocumentBody ¶
MustDocumentBody is similar to DocumentBody. It will panic if the DocumentBody returns an error.
func ParseDocument ¶
ParseDocument parses and applies the value to the model. By default, it execute json.Unmarshal.
func SetGlobalConfig ¶
func SetGlobalConfig(cfg GlobalConfig)
SetGlobalConfig sets the config that applies globally.
Types ¶
type CustomDocumentBodyModel ¶
type CustomDocumentBodyModel interface {
GetDocumentBody() (io.Reader, error)
ParseDocument(io.Reader) error
}
CustomDocumentBodyModel is an interface to be implemented when customizing DocumentBody of model.
type CustomDocumentIdModel ¶
type CustomDocumentIdModel interface {
// GetDocumentID returns an DocumentID.
GetDocumentID() string
}
CustomDocumentIdModel is an interface to be implemented when customizing DocumentID of model.
type CustomIndexNameModel ¶
type CustomIndexNameModel interface {
// GetIndexName returns an IndexName.
GetIndexName() string
}
CustomIndexNameModel is an interface to be implemented when customizing IndexName of model.
type GlobalConfig ¶
type Indexer ¶
type Indexer struct {
// contains filtered or unexported fields
}
Indexer provides functions to update/delete document in Elasticsearch.
func NewIndexer ¶
func NewIndexer(client *elasticsearch.Client) *Indexer
NewIndexer creates an Indexer.
func (*Indexer) CreateIndex ¶
func (indexer *Indexer) CreateIndex(model interface{}, baseReqs ...*esapi.IndicesCreateRequest) error
CreateIndex creates an index that to save the model. If it already exists, it returns an error.
func (*Indexer) CreateIndexIfNotExist ¶
func (indexer *Indexer) CreateIndexIfNotExist(model interface{}, baseReqs ...*esapi.IndicesCreateRequest) error
CreateIndexIfNotExist creates an index, if it to save the model does not exist.
func (*Indexer) Delete ¶
func (indexer *Indexer) Delete(model interface{}, baseReqs ...*esapi.DeleteRequest) error
Delete a document from Index.
func (*Indexer) DeleteIndex ¶
DeleteIndex deletes an index that to save the model.