elasticquery

package module
v0.0.0-...-6e7d714 Latest Latest
Warning

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

Go to latest
Published: Mar 22, 2024 License: MIT Imports: 4 Imported by: 0

README

elastic-query

Elasticsearch query building and parsing

Documentation

Index

Constants

View Source
const (
	RELATION_INTERSECTS = "INTERSECTS"
	RELATION_CONTAINS   = "CONTAINS"
	RELATION_WITHIN     = "WITHIN"
)
View Source
const (
	REWRITE_CONSTANT_SCORE            = "constant_score"
	REWRITE_CONSTANT_SCORE_BOOLEAN    = "constant_score_boolean"
	REWRITE_SCORING_BOOLEAN           = "scoring_boolean"
	REWRITE_TOP_TERMS_BLENDED_FREQS_N = "top_terms_blended_freqs_N"
	REWRITE_TOP_TERMS_BOOST_N         = "top_terms_boost_N"
	REWRITE_TOP_TERMS_N               = "top_terms_N"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BoolQuery

type BoolQuery struct {
	Must     []Query
	Filter   []Query
	Should   []Query
	MustNot  []Query
	Boost    float64
	MinMatch any // minimum_should_match
}

func And

func And(qs ...Query) *BoolQuery

func Not

func Not(qs ...Query) *BoolQuery

func Or

func Or(qs ...Query) *BoolQuery

func (*BoolQuery) And

func (q *BoolQuery) And(qs ...Query) *BoolQuery

func (*BoolQuery) JSON

func (q *BoolQuery) JSON() *json.Object

func (*BoolQuery) Not

func (q *BoolQuery) Not(qs ...Query) *BoolQuery

func (*BoolQuery) Or

func (q *BoolQuery) Or(qs ...Query) *BoolQuery

type ExistsQuery

type ExistsQuery struct {
	Field string
	Boost float64
}

func Exists

func Exists(field string) *ExistsQuery

func (*ExistsQuery) JSON

func (q *ExistsQuery) JSON() *json.Object

func (*ExistsQuery) SetBoost

func (q *ExistsQuery) SetBoost(v float64) *ExistsQuery

type Fuzziness

type Fuzziness struct {
	Value          any
	PrefixLength   int    // prefix_length
	Transpositions bool   // fuzzy_transpositions
	Rewrite        string // fuzzy_rewrite
}

func FuzzyAuto

func FuzzyAuto(low, high int) *Fuzziness

func FuzzyLevenshtein

func FuzzyLevenshtein(value int) *Fuzziness

func (*Fuzziness) SetPrefixLength

func (fuzzy *Fuzziness) SetPrefixLength(v int) *Fuzziness

func (*Fuzziness) SetRewrite

func (fuzzy *Fuzziness) SetRewrite(v string) *Fuzziness

func (*Fuzziness) SetTranspositions

func (fuzzy *Fuzziness) SetTranspositions(v bool) *Fuzziness

type FuzzyQuery

type FuzzyQuery struct {
	Field         string
	Value         string
	Boost         float64
	Fuzziness     *Fuzziness
	MaxExpansions int // max_expansions
}

func Fuzzy

func Fuzzy(field, value string) *FuzzyQuery

func (*FuzzyQuery) JSON

func (q *FuzzyQuery) JSON() *json.Object

func (*FuzzyQuery) SetBoost

func (q *FuzzyQuery) SetBoost(v float64) *FuzzyQuery

func (*FuzzyQuery) SetFuzziness

func (q *FuzzyQuery) SetFuzziness(v *Fuzziness) *FuzzyQuery

func (*FuzzyQuery) SetMaxExpansions

func (q *FuzzyQuery) SetMaxExpansions(v int) *FuzzyQuery

type IDsQuery

type IDsQuery struct {
	Values []string
	Boost  float64
}

func ID

func ID(id string) *IDsQuery

func IDs

func IDs(ids []string) *IDsQuery

func (*IDsQuery) JSON

func (q *IDsQuery) JSON() *json.Object

func (*IDsQuery) SetBoost

func (q *IDsQuery) SetBoost(v float64) *IDsQuery

type MatchQuery

type MatchQuery struct {
	Field          string
	Query          string
	IsPhrase       bool // match_phrase
	IsPhrasePrefix bool // match_phrase_prefix
	IsBoolPrefix   bool // match_bool_prefix
	Analyzer       string
	Boost          float64
	IsAnd          bool // operator: "and"
	Slop           int  // for phrases only
	IsZeroTerms    bool // zero_terms_query
	IsSynonyms     bool // auto_generate_synonyms_phrase_query
	MaxExpansions  int  // max_expansions
	Fuzziness      *Fuzziness
	Lenient        bool
	MinMatch       any // minimum_should_match
}

func Match

func Match(field, query string) *MatchQuery

func MatchBoolPrefix

func MatchBoolPrefix(field, query string) *MatchQuery

func MatchPhrase

func MatchPhrase(field, query string) *MatchQuery

func MatchPhrasePrefix

func MatchPhrasePrefix(field, query string) *MatchQuery

func (*MatchQuery) JSON

func (q *MatchQuery) JSON() *json.Object

func (*MatchQuery) SetAnalyzer

func (q *MatchQuery) SetAnalyzer(v string) *MatchQuery

func (*MatchQuery) SetAnd

func (q *MatchQuery) SetAnd() *MatchQuery

func (*MatchQuery) SetBoost

func (q *MatchQuery) SetBoost(v float64) *MatchQuery

func (*MatchQuery) SetFuzziness

func (q *MatchQuery) SetFuzziness(v *Fuzziness) *MatchQuery

func (*MatchQuery) SetLenient

func (q *MatchQuery) SetLenient() *MatchQuery

func (*MatchQuery) SetMaxExpansions

func (q *MatchQuery) SetMaxExpansions(v int) *MatchQuery

func (*MatchQuery) SetMinMatch

func (q *MatchQuery) SetMinMatch(v any) *MatchQuery

func (*MatchQuery) SetSlop

func (q *MatchQuery) SetSlop(v int) *MatchQuery

func (*MatchQuery) SetSynonyms

func (q *MatchQuery) SetSynonyms(v bool) *MatchQuery

func (*MatchQuery) SetZeroTerms

func (q *MatchQuery) SetZeroTerms() *MatchQuery

type Query

type Query interface {
	JSON() *json.Object
}

func Parse

func Parse(jo *json.Object) (Query, bool)

type RangeQuery

type RangeQuery struct {
	Field    string
	Left     *RangeQueryValue
	Right    *RangeQueryValue
	Boost    float64
	Format   string
	Relation string
	TimeZone string
}

func GT

func GT[T constraints.Ordered](field string, value T) *RangeQuery

func GTE

func GTE[T constraints.Ordered](field string, value T) *RangeQuery

func LT

func LT[T constraints.Ordered](field string, value T) *RangeQuery

func LTE

func LTE[T constraints.Ordered](field string, value T) *RangeQuery

func Range

func Range[T constraints.Ordered](field string, from, to T, exact bool) *RangeQuery

func (*RangeQuery) From

func (q *RangeQuery) From(value *RangeQueryValue) *RangeQuery

func (*RangeQuery) JSON

func (q *RangeQuery) JSON() *json.Object

func (*RangeQuery) SetBoost

func (q *RangeQuery) SetBoost(v float64) *RangeQuery

func (*RangeQuery) SetFormat

func (q *RangeQuery) SetFormat(v string) *RangeQuery

func (*RangeQuery) SetRelation

func (q *RangeQuery) SetRelation(v string) *RangeQuery

func (*RangeQuery) SetTimeZone

func (q *RangeQuery) SetTimeZone(v string) *RangeQuery

func (*RangeQuery) To

func (q *RangeQuery) To(value *RangeQueryValue) *RangeQuery

type RangeQueryValue

type RangeQueryValue struct {
	Value   any
	IsExact bool
}

func RangeValue

func RangeValue[T constraints.Ordered](value T, exact bool) *RangeQueryValue

type TermsQuery

type TermsQuery struct {
	Field   string
	Values  []any
	Boost   float64
	Uncased bool // "case_insensitive"; term query (single value) only
}

func Term

func Term[T constraints.Ordered | ~bool](field string, value T) *TermsQuery

func Terms

func Terms[T constraints.Ordered](field string, values []T) *TermsQuery

func (*TermsQuery) CaseInsensitive

func (q *TermsQuery) CaseInsensitive() *TermsQuery

func (*TermsQuery) JSON

func (q *TermsQuery) JSON() *json.Object

func (*TermsQuery) SetBoost

func (q *TermsQuery) SetBoost(v float64) *TermsQuery

type WildcardQuery

type WildcardQuery struct {
	Field    string
	Value    string
	IsPrefix bool // prefix query
	Boost    float64
	Uncased  bool // "case_insensitive"
	Rewrite  string
}

func Prefix

func Prefix(field, value string) *WildcardQuery

func Wildcard

func Wildcard(field, value string) *WildcardQuery

func (*WildcardQuery) CaseInsensitive

func (q *WildcardQuery) CaseInsensitive() *WildcardQuery

func (*WildcardQuery) JSON

func (q *WildcardQuery) JSON() *json.Object

func (*WildcardQuery) SetBoost

func (q *WildcardQuery) SetBoost(v float64) *WildcardQuery

func (*WildcardQuery) SetRewrite

func (q *WildcardQuery) SetRewrite(v string) *WildcardQuery

Jump to

Keyboard shortcuts

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