query

package
v1.32.1 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Separator   = ","
	EmptyClause = `{}`

	NoProvisionalNoConfirmedPostponed = `
{"term":{"finalised":true}}, {"exists":{"field":"date_changes"}}
`

	NoProvisionalConfirmedNoPostponed = `
{"term":{"finalised":true}}, {"bool":{"must_not":{"exists":{"field":"date_changes"}}}}
`

	NoProvisionalConfirmedPostponed = `
{"term":{"finalised":true}}
`

	ProvisionalNoConfirmedNoPostponed = `
{"term":{"finalised":false}}
`

	ProvisionalNoConfirmedPostponed = `` /* 215-byte string literal not displayed */

	ProvisionalConfirmedNoPostponed = `` /* 237-byte string literal not displayed */

)

Variables

This section is empty.

Functions

func FormatMultiQuery

func FormatMultiQuery(rawQuery []byte) ([]byte, error)

FormatMultiQuery minifies and reformats an elasticsearch MultiQuery

func LegacyFormatMultiQuery

func LegacyFormatMultiQuery(rawQuery []byte) ([]byte, error)

LegacyFormatMultiQuery minifies and reformats an elasticsearch MultiQuery

func ParseQuery

func ParseQuery(q string) (s1, s2 string)

ParseQuery :

escapes double quotes (") in the given query q, so that ElasticSearch will accept them

looks for a prefix in the given query q (which can be used to determine the type of query passed to ElasticSearch)

returns the escaped query with the prefix removed (if any was prefixed), together with the name of the template to use to generate the ElasticSearch query

func SetupSearch

func SetupSearch() (*template.Template, error)

SetupSearch loads templates for use by the search handler and should be done only once

func SetupV710Count added in v1.32.0

func SetupV710Count() (*template.Template, error)

SetupV710Search loads v710 templates for use by the search handler and should be done only once

func SetupV710Search

func SetupV710Search() (*template.Template, error)

SetupV710Search loads v710 templates for use by the search handler and should be done only once

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder represents an instance of a query builder

func NewQueryBuilder

func NewQueryBuilder() (*Builder, error)

NewQueryBuilder loads the elastic search templates and returns a query builder instance

func (*Builder) BuildCountQuery added in v1.32.0

func (sb *Builder) BuildCountQuery(ctx context.Context, query string) ([]byte, error)

BuildSearchQuery creates an elastic search query from the provided search parameters

func (*Builder) BuildSearchQuery

func (sb *Builder) BuildSearchQuery(ctx context.Context, q, contentTypes, sort string, topics []string, limit, offset int, esVersion710 bool) ([]byte, error)

BuildSearchQuery creates an elastic search query from the provided search parameters

type Date

type Date time.Time

func MustParseDate

func MustParseDate(date string) Date

func ParseDate

func ParseDate(date string) (Date, error)

func (Date) ESString

func (d Date) ESString() string

func (Date) Set

func (d Date) Set() bool

func (Date) String

func (d Date) String() string

type InvalidDateString

type InvalidDateString struct {
	// contains filtered or unexported fields
}

func (InvalidDateString) Error

func (ids InvalidDateString) Error() string

type InvalidReleaseTypeString

type InvalidReleaseTypeString string

func (InvalidReleaseTypeString) Error

func (irts InvalidReleaseTypeString) Error() string

type InvalidSortString

type InvalidSortString string

func (InvalidSortString) Error

func (iss InvalidSortString) Error() string

type ParamValidator

type ParamValidator map[paramName]validator

func NewReleaseQueryParamValidator

func NewReleaseQueryParamValidator() ParamValidator

func (ParamValidator) Validate

func (qpv ParamValidator) Validate(_ context.Context, name, value string) (interface{}, error)

type ReleaseBuilder

type ReleaseBuilder struct {
	// contains filtered or unexported fields
}

func NewReleaseBuilder

func NewReleaseBuilder() (*ReleaseBuilder, error)

func (*ReleaseBuilder) BuildSearchQuery

func (rb *ReleaseBuilder) BuildSearchQuery(_ context.Context, searchRequest interface{}) ([]esClient.Search, error)

BuildSearchQuery builds an elastic search query from the provided search parameters for Release Calendars

type ReleaseSearchRequest

type ReleaseSearchRequest struct {
	Term           string
	Template       string
	From           int
	Size           int
	SortBy         Sort
	ReleasedAfter  Date
	ReleasedBefore Date
	Type           ReleaseType
	Provisional    bool
	Confirmed      bool
	Postponed      bool
	Census         bool
	Highlight      bool
}

func (ReleaseSearchRequest) CensusClause

func (sr ReleaseSearchRequest) CensusClause() string

func (ReleaseSearchRequest) HighlightClause

func (sr ReleaseSearchRequest) HighlightClause() string

func (ReleaseSearchRequest) Now

func (sr ReleaseSearchRequest) Now() string

func (ReleaseSearchRequest) ReleaseTypeClause

func (sr ReleaseSearchRequest) ReleaseTypeClause() string

ReleaseTypeClause returns the query clause to select the type of release Note that it is possible for a Release to have both its Published and Cancelled flags true (yes indeed!) In this case it is deemed cancelled

func (*ReleaseSearchRequest) Set

func (sr *ReleaseSearchRequest) Set(value string) error

func (ReleaseSearchRequest) SortClause

func (sr ReleaseSearchRequest) SortClause() string

func (*ReleaseSearchRequest) String

func (sr *ReleaseSearchRequest) String() string

type ReleaseType

type ReleaseType int
const (
	InvalidReleaseType ReleaseType = iota
	Upcoming
	Published
	Cancelled
)

func MustParseReleaseType

func MustParseReleaseType(s string) ReleaseType

func ParseReleaseType

func ParseReleaseType(s string) (ReleaseType, error)

func (ReleaseType) String

func (rt ReleaseType) String() string

type Sort

type Sort int
const (
	Invalid Sort = iota
	RelDateAsc
	RelDateDesc
	TitleAsc
	TitleDesc
	Relevance
)

func ParseSort

func ParseSort(sort string) (Sort, error)

func (Sort) ESString

func (s Sort) ESString() string

func (Sort) String

func (s Sort) String() string

Directories

Path Synopsis
templates

Jump to

Keyboard shortcuts

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