public interface SearchPredicateFactory
This is the main entry point to the predicate DSL.
| Modifier and Type | Method and Description |
|---|---|
BooleanPredicateClausesStep<?> |
bool()
Match documents if they match a combination of boolean clauses.
|
PredicateFinalStep |
bool(Consumer<? super BooleanPredicateClausesStep<?>> clauseContributor)
Match documents if they match a combination of boolean clauses,
which will be defined by the given consumer.
|
ExistsPredicateFieldStep<?> |
exists()
Match documents where a given field exists.
|
SearchPredicateFactoryExtensionIfSupportedStep |
extension()
Create a DSL step allowing multiple attempts to apply extensions one after the other,
failing only if none of the extensions is supported.
|
<T> T |
extension(SearchPredicateFactoryExtension<T> extension)
Extend the current factory with the given extension,
resulting in an extended factory offering different types of predicates.
|
MatchIdPredicateMatchingStep<?> |
id()
Match documents where the identifier is among the given values.
|
MatchPredicateFieldStep<?> |
match()
Match documents where targeted fields have a value that "matches" a given single value.
|
MatchAllPredicateOptionsStep<?> |
matchAll()
Match all documents.
|
NestedPredicateFieldStep<?> |
nested()
Match documents where a
nested object
matches a given predicate. |
PhrasePredicateFieldStep<?> |
phrase()
Match documents where targeted fields have a value that contains a given phrase.
|
RangePredicateFieldStep<?> |
range()
Match documents where targeted fields have a value within lower and upper bounds.
|
SimpleQueryStringPredicateFieldStep<?> |
simpleQueryString()
Match documents according to a given query string,
with a simple query language adapted to end users.
|
SpatialPredicateInitialStep |
spatial()
Access the different types of spatial predicates.
|
WildcardPredicateFieldStep<?> |
wildcard()
Match documents where targeted fields contain a term that matches a given pattern,
such as
inter*on or pa?t. |
MatchAllPredicateOptionsStep<?> matchAll()
MatchAllPredicateOptionsStepMatchIdPredicateMatchingStep<?> id()
MatchIdPredicateMatchingStepBooleanPredicateClausesStep<?> bool()
BooleanPredicateClausesStepPredicateFinalStep bool(Consumer<? super BooleanPredicateClausesStep<?>> clauseContributor)
Best used with lambda expressions.
clauseContributor - A consumer that will add clauses to the step passed in parameter.
Should generally be a lambda expression.BooleanPredicateClausesStepMatchPredicateFieldStep<?> match()
Note that "value matching" may be exact or approximate depending on the type of the targeted fields: numeric fields in particular imply exact matches, while analyzed, full-text fields imply approximate matches depending on how they are analyzed.
MatchPredicateFieldStepRangePredicateFieldStep<?> range()
RangePredicateFieldStepPhrasePredicateFieldStep<?> phrase()
PhrasePredicateFieldStepWildcardPredicateFieldStep<?> wildcard()
inter*on or pa?t.
Note that such patterns are not analyzed, thus any character that is not a wildcard must match exactly the content of the index (including uppercase letters, diacritics, ...).
WildcardPredicateFieldStepNestedPredicateFieldStep<?> nested()
nested object
matches a given predicate.NestedPredicateFieldStepSimpleQueryStringPredicateFieldStep<?> simpleQueryString()
Note that by default, unless the query string contains explicit operators,
documents will match if any term mentioned in the query string is present in the document (OR operator).
This makes sense when sorting results by relevance, but is not ideal otherwise.
See SimpleQueryStringPredicateOptionsStep.defaultOperator(BooleanOperator) to change this behavior.
SimpleQueryStringPredicateFieldStepExistsPredicateFieldStep<?> exists()
Fields are considered to exist in a document when they have at least one non-null value in this document.
ExistsPredicateFieldStepSpatialPredicateInitialStep spatial()
SpatialPredicateInitialStep<T> T extension(SearchPredicateFactoryExtension<T> extension)
T - The type of factory provided by the extension.extension - The extension to the predicate DSL.SearchException - If the extension cannot be applied (wrong underlying backend, ...).SearchPredicateFactoryExtensionIfSupportedStep extension()
If you only need to apply a single extension and fail if it is not supported,
use the simpler extension(SearchPredicateFactoryExtension) method instead.
Copyright © 2006-2020 Red Hat, Inc. and others. Licensed under the GNU Lesser General Public License (LGPL), version 2.1 or later.