Package Usage: go: github.com/aquasecurity/esquery
Package esquery provides a non-obtrusive, idiomatic and easy-to-use query
and aggregation builder for the official Go client
(https://github.com/elastic/go-elasticsearch) for the ElasticSearch
database (https://www.elastic.co/products/elasticsearch).
esquery alleviates the need to use extremely nested maps
(map[string]interface{}) and serializing queries to JSON manually. It also
helps eliminating common mistakes such as misspelling query types, as
everything is statically typed.
Using `esquery` can make your code much easier to write, read and maintain,
and significantly reduce the amount of code you write.
esquery provides a method chaining-style API for building and executing
queries and aggregations. It does not wrap the official Go client nor does it
require you to change your existing code in order to integrate the library.
Queries can be directly built with `esquery`, and executed by passing an
`*elasticsearch.Client` instance (with optional search parameters). Results
are returned as-is from the official client (e.g. `*esapi.Response` objects).
Getting started is extremely simple:
esquery currently supports version 7 of the ElasticSearch Go client.
The library cannot currently generate "short queries". For example,
whereas ElasticSearch can accept this:
{ "query": { "term": { "user": "Kimchy" } } }
The library will always generate this:
This is also true for queries such as "bool", where fields like "must" can
either receive one query object, or an array of query objects. `esquery` will
generate an array even if there's only one query object.
2 versions
Latest release: over 4 years ago
29 dependent packages
View more package details: https://packages.ecosystem.code.gouv.fr/registries/proxy.golang.org/packages/github.com/aquasecurity/esquery