Class QueryBuilders
- java.lang.Object
-
- org.apache.calcite.adapter.elasticsearch.QueryBuilders
-
class QueryBuilders extends java.lang.Object
Utility class to generate elastic search queries. Most query builders have been copied from ES distribution. The reason we have separate definition is high-level client dependency on core modules (like lucene, netty, XContent etc.) which is not compatible between different major versions.The goal of ES adapter is to be compatible with any elastic version or even to connect to clusters with different versions simultaneously.
Jackson API is used to generate ES query as JSON document.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
QueryBuilders.BoolQueryBuilder
Query for boolean logic(package private) static class
QueryBuilders.ConstantScoreQueryBuilder
A query that wraps a filter and simply returns a constant score equal to the query boost for every document in the filter.(package private) static class
QueryBuilders.ExistsQueryBuilder
Constructs a query that only match on documents that the field has a value in them.(package private) static class
QueryBuilders.MatchAllQueryBuilder
A query that matches on all documents.(package private) static class
QueryBuilders.QueryBuilder
Base class to build ES queries(package private) static class
QueryBuilders.RangeQueryBuilder
A Query that matches documents within an range of terms.(package private) static class
QueryBuilders.RegexpQueryBuilder
A Query that does fuzzy matching for a specific value.(package private) static class
QueryBuilders.TermQueryBuilder
A Query that matches documents containing a term.private static class
QueryBuilders.TermsQueryBuilder
A filter for a field based on several terms matching on any of them.
-
Constructor Summary
Constructors Modifier Constructor Description private
QueryBuilders()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static QueryBuilders.BoolQueryBuilder
boolQuery()
A Query that matches documents matching boolean combinations of other queries.(package private) static QueryBuilders.ConstantScoreQueryBuilder
constantScoreQuery(QueryBuilders.QueryBuilder queryBuilder)
A query that wraps another query and simply returns a constant score equal to the query boost for every document in the query.(package private) static QueryBuilders.ExistsQueryBuilder
existsQuery(java.lang.String name)
A filter to filter only documents where a field exists in them.(package private) static QueryBuilders.MatchAllQueryBuilder
matchAll()
A query that matches on all documents.(package private) static QueryBuilders.RangeQueryBuilder
rangeQuery(java.lang.String name)
A Query that matches documents within an range of terms.(package private) static QueryBuilders.RegexpQueryBuilder
regexpQuery(java.lang.String name, java.lang.String regexp)
A Query that matches documents containing terms with a specified regular expression.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, boolean value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, char value)
A Query that matches documents containing a single character term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, double value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, float value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, int value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, long value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, java.lang.Object value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermQueryBuilder
termQuery(java.lang.String name, java.lang.String value)
A Query that matches documents containing a term.(package private) static QueryBuilders.TermsQueryBuilder
termsQuery(java.lang.String name, java.lang.Iterable<?> values)
A filer for a field based on several terms matching on any of them.private static void
writeObject(com.fasterxml.jackson.core.JsonGenerator generator, java.lang.Object value)
Write usually simple (scalar) value (string, number, boolean or null) to json output.
-
-
-
Method Detail
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, java.lang.String value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, int value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, char value)
A Query that matches documents containing a single character term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, long value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, float value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, double value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, boolean value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termQuery
static QueryBuilders.TermQueryBuilder termQuery(java.lang.String name, java.lang.Object value)
A Query that matches documents containing a term.- Parameters:
name
- The name of the fieldvalue
- The value of the term
-
termsQuery
static QueryBuilders.TermsQueryBuilder termsQuery(java.lang.String name, java.lang.Iterable<?> values)
A filer for a field based on several terms matching on any of them.- Parameters:
name
- The field namevalues
- The terms
-
rangeQuery
static QueryBuilders.RangeQueryBuilder rangeQuery(java.lang.String name)
A Query that matches documents within an range of terms.- Parameters:
name
- The field name
-
regexpQuery
static QueryBuilders.RegexpQueryBuilder regexpQuery(java.lang.String name, java.lang.String regexp)
A Query that matches documents containing terms with a specified regular expression.- Parameters:
name
- The name of the fieldregexp
- The regular expression
-
boolQuery
static QueryBuilders.BoolQueryBuilder boolQuery()
A Query that matches documents matching boolean combinations of other queries.
-
constantScoreQuery
static QueryBuilders.ConstantScoreQueryBuilder constantScoreQuery(QueryBuilders.QueryBuilder queryBuilder)
A query that wraps another query and simply returns a constant score equal to the query boost for every document in the query.- Parameters:
queryBuilder
- The query to wrap in a constant score query
-
existsQuery
static QueryBuilders.ExistsQueryBuilder existsQuery(java.lang.String name)
A filter to filter only documents where a field exists in them.- Parameters:
name
- The name of the field
-
matchAll
static QueryBuilders.MatchAllQueryBuilder matchAll()
A query that matches on all documents.
-
writeObject
private static void writeObject(com.fasterxml.jackson.core.JsonGenerator generator, java.lang.Object value) throws java.io.IOException
Write usually simple (scalar) value (string, number, boolean or null) to json output. In case of complex objects delegates to jackson serialization.- Parameters:
generator
- api to generate JSON documentvalue
- JSON value to write- Throws:
java.io.IOException
- if can't write to output
-
-