Documentation
¶
Overview ¶
package osquery provides a query builder for OpenSearch.
Index ¶
- func HandleCompareOperatorBeginsWith(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorBetweenDates(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorContains(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorExists(fieldName string, _ any) (esquery.Mappable, error)
- func HandleCompareOperatorIsEqualTo(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorIsGreaterThan(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorIsGreaterThanOrEqualTo(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorIsLessThan(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorIsLessThanOrEqualTo(fieldName string, fieldValue any) (esquery.Mappable, error)
- func HandleCompareOperatorTextContains(fieldName string, fieldValue any) (esquery.Mappable, error)
- type BoolQueryBuilder
- type CompareOperator
- type CompareOperatorHandler
- type QuerySettings
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HandleCompareOperatorBeginsWith ¶
HandleCompareOperatorBeginsWith handles begins with
func HandleCompareOperatorBetweenDates ¶
HandleCompareOperatorBetweenDates constructs an OpenSearch range query for a given date field. It accepts a field name and a field value, which must be a slice of exactly 2 elements, representing the start and end of range. Accepted slice types: - []time.Time, - []string of two RFC3339Nano-formatted strings, - []any, containing any combination of time.Time and RFC3339Nano-formatted string.
The generated range query is inclusive of both the lower and upper bounds. If a document’s timestamp is exactly equal to the start or end date, it will still match the query.
func HandleCompareOperatorContains ¶
HandleCompareOperatorContains handles contains. In the index mapping the given field must be a string of type `keyword`.
func HandleCompareOperatorIsEqualTo ¶
HandleCompareOperatorIsEqualTo handles is equal to
func HandleCompareOperatorIsGreaterThan ¶
HandleCompareOperatorIsGreaterThan handles is greater than
func HandleCompareOperatorIsGreaterThanOrEqualTo ¶
func HandleCompareOperatorIsGreaterThanOrEqualTo(fieldName string, fieldValue any) (esquery.Mappable, error)
HandleCompareOperatorIsGreaterThanOrEqualTo handles is greater than or equal to
func HandleCompareOperatorIsLessThan ¶
HandleCompareOperatorIsLessThan handles is less than
Types ¶
type BoolQueryBuilder ¶
type BoolQueryBuilder struct {
Must []esquery.Mappable
MustNot []esquery.Mappable
// contains filtered or unexported fields
}
BoolQueryBuilder is a builder for an OpenSearch bool query. Use NewBoolQueryBuilder or NewBoolQueryBuilderWith for proper initialization.
func NewBoolQueryBuilder ¶
func NewBoolQueryBuilder(querySettings *QuerySettings) *BoolQueryBuilder
NewBoolQueryBuilder creates a new BoolQueryBuilder and returns it. It uses the default set of CompareOperator.
querySettings is used to configure the query builder.
func NewBoolQueryBuilderWith ¶
func NewBoolQueryBuilderWith(query *esquery.BoolQuery, querySettings *QuerySettings) *BoolQueryBuilder
NewBoolQueryBuilderWith creates a new BoolQueryBuilder and returns it. It uses the default set of CompareOperator.
query is the initial bool query to use. querySettings is used to configure the query builder.
func (*BoolQueryBuilder) AddFilterRequest ¶
func (q *BoolQueryBuilder) AddFilterRequest(request *filter.Request) error
AddFilterRequest adds a filter request to this query. The filter request is translated into a bool query.
func (*BoolQueryBuilder) AddTermFilter ¶
func (q *BoolQueryBuilder) AddTermFilter(fieldName string, value any) error
AddTermFilter adds a term filter to this query.
value is the value to filter for.
func (*BoolQueryBuilder) AddTermsFilter ¶
func (q *BoolQueryBuilder) AddTermsFilter(fieldName string, values ...any) error
AddTermsFilter adds a terms filter to this query.
values is the list of values to filter for.
func (*BoolQueryBuilder) Build ¶
func (q *BoolQueryBuilder) Build() *esquery.BoolQuery
Build returns the built query.
type CompareOperator ¶
type CompareOperator struct {
Operator filter.CompareOperator
Handler CompareOperatorHandler
// MustCondition defines whether the condition should be added to the must (true) or must_not clause (false).
MustCondition bool
}
CompareOperator defines a mapping between a filter.CompareOperator and a function to generate an appropriate query condition in form of a CompareOperatorHandler.
type CompareOperatorHandler ¶
CompareOperatorHandler is a function that generates an appropriate query condition for the given field.
type QuerySettings ¶
QuerySettings is used to configure the query builder.