elasticsearch

package
v0.15.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2020 License: MIT Imports: 6 Imported by: 9

Documentation

Index

Constants

View Source
const (
	DomainID      = "DomainID"
	WorkflowID    = "WorkflowID"
	RunID         = "RunID"
	WorkflowType  = "WorkflowType"
	StartTime     = "StartTime"
	ExecutionTime = "ExecutionTime"
	CloseTime     = "CloseTime"
	CloseStatus   = "CloseStatus"
	HistoryLength = "HistoryLength"
	Memo          = "Memo"
	Encoding      = "Encoding"
	TaskList      = "TaskList"

	KafkaKey = "KafkaKey"
)

All legal fields allowed in elastic search index

Variables

View Source
var (
	FieldTypeString = indexer.FieldTypeString
	FieldTypeInt    = indexer.FieldTypeInt
	FieldTypeBool   = indexer.FieldTypeBool
	FieldTypeBinary = indexer.FieldTypeBinary
)

Supported field types

Functions

This section is empty.

Types

type BulkProcessorParameters

type BulkProcessorParameters struct {
	Name          string
	NumOfWorkers  int
	BulkActions   int
	BulkSize      int
	FlushInterval time.Duration
	Backoff       elastic.Backoff
	BeforeFunc    elastic.BulkBeforeFunc
	AfterFunc     elastic.BulkAfterFunc
}

BulkProcessorParameters holds all required and optional parameters for executing bulk service

type Client

type Client interface {
	Search(ctx context.Context, p *SearchParameters) (*elastic.SearchResult, error)
	SearchWithDSL(ctx context.Context, index, query string) (*elastic.SearchResult, error)
	Scroll(ctx context.Context, scrollID string) (*elastic.SearchResult, ScrollService, error)
	ScrollFirstPage(ctx context.Context, index, query string) (*elastic.SearchResult, ScrollService, error)
	Count(ctx context.Context, index, query string) (int64, error)
	RunBulkProcessor(ctx context.Context, p *BulkProcessorParameters) (*elastic.BulkProcessor, error)
	PutMapping(ctx context.Context, index, root, key, valueType string) error
	CreateIndex(ctx context.Context, index string) error
}

Client is a wrapper around ElasticSearch client library. It simplifies the interface and enables mocking. We intentionally let implementation details of the elastic library bleed through, as the main purpose is testability not abstraction.

func NewClient

func NewClient(config *Config) (Client, error)

NewClient create a ES client

func NewWrapperClient

func NewWrapperClient(esClient *elastic.Client) Client

NewWrapperClient returns a new implementation of Client

type Config

type Config struct {
	URL     url.URL           `yaml:url`     //nolint:govet
	Indices map[string]string `yaml:indices` //nolint:govet
}

Config for connecting to ElasticSearch

func (*Config) GetVisibilityIndex added in v0.6.0

func (cfg *Config) GetVisibilityIndex() string

GetVisibilityIndex return visibility index name

type ScrollService added in v0.5.8

type ScrollService interface {
	Clear(ctx context.Context) error
}

ScrollService is a interface for elastic.ScrollService

type SearchParameters

type SearchParameters struct {
	Index       string
	Query       elastic.Query
	From        int
	PageSize    int
	Sorter      []elastic.Sorter
	SearchAfter []interface{}
}

SearchParameters holds all required and optional parameters for executing a search

Directories

Path Synopsis
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL