public class Criteria extends Object
Criteria.CriteriaEntry
sets for query and filter context. When building the
query, the entries from the criteria entries are combined in a bool must query (if more than one.Criteria.CriteriaChain
which is used to build a collection of Criteria with the fluent API. The
value of isAnd()
and isOr()
describes whether the queries built from the criteria chain should be
put in a must (and) or a should (or) clause when a query is built from it, it is not used to build some relationship
between the elements of the criteria chain.Modifier and Type | Class and Description |
---|---|
static class |
Criteria.CriteriaChain
a list of
Criteria objects that belong to one query. |
static class |
Criteria.CriteriaEntry
A class defining a single operation and it's argument value for the field of a
Criteria . |
static class |
Criteria.OperationKey |
static class |
Criteria.Operator
Operator to join the entries of the criteria chain
|
Modifier and Type | Field and Description |
---|---|
static String |
CRITERIA_VALUE_SEPARATOR |
static String |
CRITERIA_VALUE_SEPERATOR
Deprecated.
since 4.1, use
CRITERIA_VALUE_SEPARATOR |
Modifier | Constructor and Description |
---|---|
|
Criteria() |
|
Criteria(Field field)
Creates a new Criteria for the given field
|
protected |
Criteria(List<Criteria> criteriaChain,
Field field)
Creates a Criteria for the given field, sets it's criteriaChain to the given value and adds itself to the end of
the chain.
|
protected |
Criteria(List<Criteria> criteriaChain,
String fieldName)
Creates a Criteria for the given field, sets it's criteriaChain to the given value and adds itself to the end of
the chain.
|
|
Criteria(String fieldName)
Creates a new Criteria with provided field name
|
Modifier and Type | Method and Description |
---|---|
static Criteria |
and() |
Criteria |
and(Criteria... criterias)
Chain an array of Criteria to this object.
|
Criteria |
and(Criteria criteria)
Chain a Criteria to this object.
|
Criteria |
and(Field field)
Chain a new and-Criteria
|
Criteria |
and(String fieldName)
Chain a new and- Criteria
|
Criteria |
between(Object lowerBound,
Object upperBound)
Adds a OperationKey.BETWEEN entry to the
queryCriteriaEntries . |
Criteria |
boost(float boost)
Sets the boost factor.
|
Criteria |
boundedBy(Box boundingBox)
Adds a new filter CriteriaEntry for
location Box bounding box |
Criteria |
boundedBy(GeoBox boundingBox)
Adds a new filter CriteriaEntry for
location GeoBox bounding box |
Criteria |
boundedBy(GeoPoint topLeftPoint,
GeoPoint bottomRightPoint)
Adds a new filter CriteriaEntry for bounding box created from points
|
Criteria |
boundedBy(Point topLeftPoint,
Point bottomRightPoint)
Adds a new filter CriteriaEntry for bounding box created from points
|
Criteria |
boundedBy(String topLeftGeohash,
String bottomRightGeohash)
Adds a new filter CriteriaEntry for bounding box created from points
|
Criteria |
contains(GeoJson<?> geoShape)
Adds a new filter CriteriaEntry for GEO_CONTAINS.
|
Criteria |
contains(String s)
Add a
Criteria.OperationKey.CONTAINS entry to the queryCriteriaEntries NOTE: mind your schema as leading wildcards may not be supported and/or execution might be slow. |
Criteria |
endsWith(String s)
Add a
Criteria.OperationKey.ENDS_WITH entry to the queryCriteriaEntries NOTE: mind your schema as leading wildcards may not be supported and/or execution might be slow. |
boolean |
equals(Object o) |
Criteria |
exists()
Add a
Criteria.OperationKey.EXISTS entry to the queryCriteriaEntries |
Criteria |
expression(String s)
Add a
Criteria.OperationKey.EXPRESSION entry to the queryCriteriaEntries allowing native elasticsearch
expressions |
Criteria |
fuzzy(String s)
Add a
Criteria.OperationKey.FUZZY entry to the queryCriteriaEntries |
float |
getBoost() |
String |
getConjunctionOperator()
Deprecated.
since 4.1, use
getOperator() |
List<Criteria> |
getCriteriaChain() |
Field |
getField() |
Set<Criteria.CriteriaEntry> |
getFilterCriteriaEntries() |
Criteria.Operator |
getOperator() |
Set<Criteria.CriteriaEntry> |
getQueryCriteriaEntries() |
Set<Criteria> |
getSubCriteria() |
Criteria |
greaterThan(Object lowerBound)
Add a
Criteria.OperationKey.GREATER entry to the queryCriteriaEntries |
Criteria |
greaterThanEqual(Object lowerBound)
Add a
Criteria.OperationKey.GREATER_EQUAL entry to the queryCriteriaEntries |
int |
hashCode() |
Criteria |
in(Iterable<?> values)
Add a
Criteria.OperationKey.IN entry to the queryCriteriaEntries . |
Criteria |
in(Object... values)
Add a
Criteria.OperationKey.IN entry to the queryCriteriaEntries . |
Criteria |
intersects(GeoJson<?> geoShape)
Adds a new filter CriteriaEntry for GEO_INTERSECTS.
|
Criteria |
is(Object o)
Add a
Criteria.OperationKey.EQUALS entry to the queryCriteriaEntries |
boolean |
isAnd() |
Criteria |
isDisjoint(GeoJson<?> geoShape)
Adds a new filter CriteriaEntry for GEO_IS_DISJOINT.
|
boolean |
isNegating() |
boolean |
isOr() |
Criteria |
lessThan(Object upperBound)
Add a
Criteria.OperationKey.LESS entry to the queryCriteriaEntries |
Criteria |
lessThanEqual(Object upperBound)
Add a
Criteria.OperationKey.LESS_EQUAL entry to the queryCriteriaEntries |
Criteria |
matches(Object value)
Add a
Criteria.OperationKey.MATCHES entry to the queryCriteriaEntries . |
Criteria |
matchesAll(Object value)
Add a
Criteria.OperationKey.MATCHES entry to the queryCriteriaEntries . |
Criteria |
not()
Sets the negating flag
|
Criteria |
notIn(Iterable<?> values)
Add a
Criteria.OperationKey.NOT_IN entry to the queryCriteriaEntries . |
Criteria |
notIn(Object... values)
Add a
Criteria.OperationKey.NOT_IN entry to the queryCriteriaEntries . |
static Criteria |
or() |
Criteria |
or(Criteria criteria)
Chain a new or-Criteria.
|
Criteria |
or(Field field)
Chain a new or-Criteria
|
Criteria |
or(String fieldName)
Chain a new or-Criteria
|
Criteria |
startsWith(String s)
Add a
Criteria.OperationKey.STARTS_WITH entry to the queryCriteriaEntries |
Criteria |
subCriteria(Criteria criteria)
adds a Criteria as subCriteria
|
String |
toString() |
static Criteria |
where(Field field)
Static factory method to create a new Criteria for provided field
|
static Criteria |
where(String fieldName)
Static factory method to create a new Criteria for field with given name
|
Criteria |
within(GeoJson<?> geoShape)
Adds a new filter CriteriaEntry for GEO_WITHIN.
|
Criteria |
within(GeoPoint location,
String distance)
Adds a new filter CriteriaEntry for
location WITHIN distance |
Criteria |
within(Point location,
Distance distance)
Adds a new filter CriteriaEntry for
location WITHIN distance |
Criteria |
within(String geoLocation,
String distance)
Adds a new filter CriteriaEntry for
geoLocation WITHIN distance |
public static final String CRITERIA_VALUE_SEPARATOR
public static final String CRITERIA_VALUE_SEPERATOR
CRITERIA_VALUE_SEPARATOR
public Criteria()
public Criteria(String fieldName)
fieldName
- the field namepublic Criteria(Field field)
field
- field to create the Criteria forprotected Criteria(List<Criteria> criteriaChain, String fieldName)
criteriaChain
- the chain to add tofieldName
- field to create the Criteria forpublic static Criteria and()
public static Criteria or()
public static Criteria where(String fieldName)
fieldName
- field to create the Criteria forpublic static Criteria where(Field field)
field
- field to create the Criteria forpublic Set<Criteria.CriteriaEntry> getQueryCriteriaEntries()
public Set<Criteria.CriteriaEntry> getFilterCriteriaEntries()
@Deprecated public String getConjunctionOperator()
getOperator()
public Criteria.Operator getOperator()
public Criteria not()
public boolean isNegating()
public Criteria boost(float boost)
boost
- boost factorpublic float getBoost()
public boolean isAnd()
public boolean isOr()
public Criteria and(Field field)
field
- the field for the new Criteriapublic Criteria and(String fieldName)
fieldName
- the field for the new Criteriapublic Criteria and(Criteria criteria)
criteria
- the Criteria to addpublic Criteria and(Criteria... criterias)
criterias
- the Criteria to addpublic Criteria or(Field field)
field
- the field for the new Criteriapublic Criteria or(String fieldName)
fieldName
- the field for the new Criteriapublic Criteria or(Criteria criteria)
getField()
, getQueryCriteriaEntries()
and
getFilterCriteriaEntries()
of the passed in parameter. the new created criteria is added to the criteria
chain.criteria
- contains the information for the new Criteriapublic Criteria subCriteria(Criteria criteria)
criteria
- the criteria to add, must not be nullpublic Criteria is(Object o)
Criteria.OperationKey.EQUALS
entry to the queryCriteriaEntries
o
- the argument to the operationpublic Criteria exists()
Criteria.OperationKey.EXISTS
entry to the queryCriteriaEntries
public Criteria between(@Nullable Object lowerBound, @Nullable Object upperBound)
queryCriteriaEntries
. Only one of the parameters may be null to
define an unbounded end of the range.lowerBound
- the lower bound of the range, null for unboundedupperBound
- the upper bound of the range, null for unboundedpublic Criteria startsWith(String s)
Criteria.OperationKey.STARTS_WITH
entry to the queryCriteriaEntries
s
- the argument to the operationpublic Criteria contains(String s)
Criteria.OperationKey.CONTAINS
entry to the queryCriteriaEntries
s
- the argument to the operationpublic Criteria endsWith(String s)
Criteria.OperationKey.ENDS_WITH
entry to the queryCriteriaEntries
s
- the argument to the operationpublic Criteria in(Object... values)
Criteria.OperationKey.IN
entry to the queryCriteriaEntries
. This will create a terms query, so don't
use it with text fields as these are analyzed and changed by Elasticsearch (converted to lowercase with the default
analyzer). If used for Strings, these should be marked as field type Keyword.values
- the argument to the operationpublic Criteria in(Iterable<?> values)
values
- the argument to the operationpublic Criteria notIn(Object... values)
Criteria.OperationKey.NOT_IN
entry to the queryCriteriaEntries
. See the comment at
in(Object...)
.values
- the argument to the operationpublic Criteria notIn(Iterable<?> values)
Criteria.OperationKey.NOT_IN
entry to the queryCriteriaEntries
. See the comment at
in(Object...)
.values
- the argument to the operationpublic Criteria expression(String s)
Criteria.OperationKey.EXPRESSION
entry to the queryCriteriaEntries
allowing native elasticsearch
expressionss
- the argument to the operationpublic Criteria fuzzy(String s)
Criteria.OperationKey.FUZZY
entry to the queryCriteriaEntries
s
- the argument to the operationpublic Criteria lessThanEqual(Object upperBound)
Criteria.OperationKey.LESS_EQUAL
entry to the queryCriteriaEntries
upperBound
- the argument to the operationpublic Criteria lessThan(Object upperBound)
Criteria.OperationKey.LESS
entry to the queryCriteriaEntries
upperBound
- the argument to the operationpublic Criteria greaterThanEqual(Object lowerBound)
Criteria.OperationKey.GREATER_EQUAL
entry to the queryCriteriaEntries
lowerBound
- the argument to the operationpublic Criteria greaterThan(Object lowerBound)
Criteria.OperationKey.GREATER
entry to the queryCriteriaEntries
lowerBound
- the argument to the operationpublic Criteria matches(Object value)
Criteria.OperationKey.MATCHES
entry to the queryCriteriaEntries
. This will build a match query with
the OR operator.value
- the value to matchpublic Criteria matchesAll(Object value)
Criteria.OperationKey.MATCHES
entry to the queryCriteriaEntries
. This will build a match query with
the AND operator.value
- the value to matchpublic Criteria boundedBy(GeoBox boundingBox)
location GeoBox bounding box
boundingBox
- GeoBox
bounding box(left top corner +
right bottom corner)public Criteria boundedBy(Box boundingBox)
location Box bounding box
boundingBox
- GeoBox
bounding box(left top corner +
right bottom corner)public Criteria boundedBy(String topLeftGeohash, String bottomRightGeohash)
topLeftGeohash
- left top corner of bounding box as geohashbottomRightGeohash
- right bottom corner of bounding box as geohashpublic Criteria boundedBy(GeoPoint topLeftPoint, GeoPoint bottomRightPoint)
topLeftPoint
- left top corner of bounding boxbottomRightPoint
- right bottom corner of bounding boxpublic Criteria boundedBy(Point topLeftPoint, Point bottomRightPoint)
topLeftPoint
- left top corner of bounding boxbottomRightPoint
- right bottom corner of bounding boxpublic Criteria within(GeoPoint location, String distance)
location WITHIN distance
public Criteria within(Point location, Distance distance)
location WITHIN distance
public Criteria within(String geoLocation, String distance)
geoLocation WITHIN distance
public Criteria intersects(GeoJson<?> geoShape)
geoShape
- the GeoJson shapepublic Criteria isDisjoint(GeoJson<?> geoShape)
geoShape
- the GeoJson shapepublic Criteria within(GeoJson<?> geoShape)
geoShape
- the GeoJson shapepublic Criteria contains(GeoJson<?> geoShape)
geoShape
- the GeoJson shapeCopyright © 2011–2021 Pivotal Software, Inc.. All rights reserved.