Documentation
¶
Index ¶
- Constants
- Variables
- func GenerateDocID(wid, rid string) string
- func GetESDocDelimiter() string
- func GetESDocIDSizeLimit() int
- func GetESDocType() string
- func SerializePageToken(token *ElasticVisibilityPageToken) ([]byte, error)
- func ShouldSearchAfter(token *ElasticVisibilityPageToken) bool
- type ESClient
- func (c *ESClient) CountByQuery(ctx context.Context, index, query string) (int64, error)
- func (c *ESClient) CreateIndex(ctx context.Context, index string) error
- func (c *ESClient) IsNotFoundError(err error) bool
- func (c *ESClient) PutMapping(ctx context.Context, index, root, key, valueType string) error
- func (c *ESClient) RunBulkProcessor(ctx context.Context, p *bulk.BulkProcessorParameters) (bulk.GenericBulkProcessor, error)
- func (c *ESClient) ScanByQuery(ctx context.Context, request *ScanByQueryRequest) (*SearchResponse, error)
- func (c *ESClient) Search(ctx context.Context, request *SearchRequest) (*SearchResponse, error)
- func (c *ESClient) SearchByQuery(ctx context.Context, request *SearchByQueryRequest) (*SearchResponse, error)
- func (c *ESClient) SearchForOneClosedExecution(ctx context.Context, index string, request *SearchForOneClosedExecutionRequest) (*SearchForOneClosedExecutionResponse, error)
- func (c *ESClient) SearchRaw(ctx context.Context, index, query string) (*RawResponse, error)
- type ElasticVisibilityPageToken
- type GenericClient
- type IsRecordValidFilter
- type RawResponse
- type ScanByQueryRequest
- type SearchByQueryRequest
- type SearchForOneClosedExecutionRequest
- type SearchForOneClosedExecutionResponse
- type SearchHits
- type SearchRequest
- type SearchResponse
- type VisibilityRecord
Constants ¶
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" IsCron = "IsCron" NumClusters = "NumClusters" VisibilityOperation = "VisibilityOperation" UpdateTime = "UpdateTime" ShardID = "ShardID" )
All legal fields allowed in elastic search index
Variables ¶
var ( FieldTypeString = indexer.FieldTypeString FieldTypeInt = indexer.FieldTypeInt FieldTypeBool = indexer.FieldTypeBool FieldTypeBinary = indexer.FieldTypeBinary )
Supported field types
Functions ¶
func GenerateDocID ¶ added in v0.24.0
func GetESDocDelimiter ¶ added in v0.24.0
func GetESDocDelimiter() string
func GetESDocIDSizeLimit ¶ added in v0.24.0
func GetESDocIDSizeLimit() int
func GetESDocType ¶ added in v0.24.0
func GetESDocType() string
func SerializePageToken ¶ added in v0.17.0
func SerializePageToken(token *ElasticVisibilityPageToken) ([]byte, error)
SerializePageToken return the token blob
func ShouldSearchAfter ¶ added in v0.17.0
func ShouldSearchAfter(token *ElasticVisibilityPageToken) bool
ShouldSearchAfter decides if should search after
Types ¶
type ESClient ¶ added in v1.2.1
func NewGenericClient ¶ added in v0.17.0
func NewGenericClient( connectConfig *config.ElasticSearchConfig, logger log.Logger, ) (*ESClient, error)
NewGenericClient create a ES client
func (*ESClient) CountByQuery ¶ added in v1.2.1
func (*ESClient) CreateIndex ¶ added in v1.2.1
func (*ESClient) IsNotFoundError ¶ added in v1.2.1
func (*ESClient) PutMapping ¶ added in v1.2.1
func (*ESClient) RunBulkProcessor ¶ added in v1.2.1
func (c *ESClient) RunBulkProcessor(ctx context.Context, p *bulk.BulkProcessorParameters) (bulk.GenericBulkProcessor, error)
func (*ESClient) ScanByQuery ¶ added in v1.2.1
func (c *ESClient) ScanByQuery(ctx context.Context, request *ScanByQueryRequest) (*SearchResponse, error)
func (*ESClient) Search ¶ added in v1.2.1
func (c *ESClient) Search(ctx context.Context, request *SearchRequest) (*SearchResponse, error)
func (*ESClient) SearchByQuery ¶ added in v1.2.1
func (c *ESClient) SearchByQuery(ctx context.Context, request *SearchByQueryRequest) (*SearchResponse, error)
func (*ESClient) SearchForOneClosedExecution ¶ added in v1.2.1
func (c *ESClient) SearchForOneClosedExecution(ctx context.Context, index string, request *SearchForOneClosedExecutionRequest) (*SearchForOneClosedExecutionResponse, error)
type ElasticVisibilityPageToken ¶ added in v0.17.0
type ElasticVisibilityPageToken struct {
// for ES API From+Size
From int
// for ES API searchAfter
SortValue interface{}
TieBreaker string // runID
// for ES scroll API
ScrollID string
}
ElasticVisibilityPageToken holds the paging token for ElasticSearch
func DeserializePageToken ¶ added in v0.17.0
func DeserializePageToken(data []byte) (*ElasticVisibilityPageToken, error)
DeserializePageToken return the structural token
func GetNextPageToken ¶ added in v0.17.0
func GetNextPageToken(token []byte) (*ElasticVisibilityPageToken, error)
GetNextPageToken returns the structural token with nil handling
type GenericClient ¶ added in v0.17.0
type GenericClient interface {
// Search API is only for supporting various List[Open/Closed]WorkflowExecutions(ByXyz).
// Use SearchByQuery or ScanByQuery for generic purpose searching.
Search(ctx context.Context, request *SearchRequest) (*SearchResponse, error)
// SearchByQuery is the generic purpose searching
SearchByQuery(ctx context.Context, request *SearchByQueryRequest) (*SearchResponse, error)
// SearchRaw is for searching with raw json. Returns RawResult object which is subset of ESv6 and ESv7 response
SearchRaw(ctx context.Context, index, query string) (*RawResponse, error)
// ScanByQuery is also generic purpose searching, but implemented with ScrollService of ElasticSearch,
// which is more performant for pagination, but comes with some limitation of in-parallel requests.
ScanByQuery(ctx context.Context, request *ScanByQueryRequest) (*SearchResponse, error)
// TODO remove it in https://github.com/uber/cadence/issues/3682
SearchForOneClosedExecution(ctx context.Context, index string, request *SearchForOneClosedExecutionRequest) (*SearchForOneClosedExecutionResponse, error)
// CountByQuery is for returning the count of workflow executions that match the query
CountByQuery(ctx context.Context, index, query string) (int64, error)
// RunBulkProcessor returns a processor for adding/removing docs into ElasticSearch index
RunBulkProcessor(ctx context.Context, p *bulk.BulkProcessorParameters) (bulk.GenericBulkProcessor, error)
// PutMapping adds new field type to the index
PutMapping(ctx context.Context, index, root, key, valueType string) error
// CreateIndex creates a new index
CreateIndex(ctx context.Context, index string) error
IsNotFoundError(err error) bool
}
GenericClient is a generic interface for all versions of ElasticSearch clients
type IsRecordValidFilter ¶ added in v0.17.0
type IsRecordValidFilter func(rec *p.InternalVisibilityWorkflowExecutionInfo) bool
IsRecordValidFilter is a function to filter visibility records
type RawResponse ¶ added in v0.24.0
type RawResponse struct {
TookInMillis int64
Hits SearchHits
Aggregations map[string]json.RawMessage
}
type ScanByQueryRequest ¶ added in v0.17.0
ScanByQueryRequest is request for SearchByQuery
type SearchByQueryRequest ¶ added in v0.17.0
type SearchByQueryRequest struct {
Index string
Query string
NextPageToken []byte
PageSize int
Filter IsRecordValidFilter
MaxResultWindow int
}
SearchByQueryRequest is request for SearchByQuery
type SearchForOneClosedExecutionRequest ¶ added in v0.17.0
type SearchForOneClosedExecutionRequest = p.InternalGetClosedWorkflowExecutionRequest
SearchForOneClosedExecutionRequest is request for SearchForOneClosedExecution
type SearchForOneClosedExecutionResponse ¶ added in v0.17.0
type SearchForOneClosedExecutionResponse = p.InternalGetClosedWorkflowExecutionResponse
SearchForOneClosedExecutionResponse is response for SearchForOneClosedExecution
type SearchHits ¶ added in v0.24.0
type SearchHits struct {
TotalHits int64
Hits []*p.InternalVisibilityWorkflowExecutionInfo
}
type SearchRequest ¶ added in v0.17.0
type SearchRequest struct {
Index string
ListRequest *p.InternalListWorkflowExecutionsRequest
IsOpen bool
Filter IsRecordValidFilter
MatchQuery *query.MatchQuery
MaxResultWindow int
}
SearchRequest is request for Search
type SearchResponse ¶ added in v0.17.0
type SearchResponse = p.InternalListWorkflowExecutionsResponse
SearchResponse is a response to Search, SearchByQuery and ScanByQuery
type VisibilityRecord ¶ added in v0.17.0
type VisibilityRecord struct {
WorkflowID string
RunID string
WorkflowType string
DomainID string
StartTime int64
ExecutionTime int64
CloseTime int64
CloseStatus workflow.WorkflowExecutionCloseStatus
HistoryLength int64
Memo []byte
Encoding string
TaskList string
IsCron bool
NumClusters int16
UpdateTime int64
Attr map[string]interface{}
}
VisibilityRecord is a struct of doc for deserialization