Class QueryAccessor
- java.lang.Object
-
- org.cyclos.impl.search.elasticsearch.ESAccessor
-
- org.cyclos.impl.search.elasticsearch.QueryAccessor
-
public class QueryAccessor extends ESAccessor
Provides access for building Elasticsearch queries
-
-
Field Summary
-
Fields inherited from class org.cyclos.impl.search.elasticsearch.ESAccessor
AD_ADDRESSES, ADDRESSES, BEGIN, BROKER, CHANNEL, COUNTRY_NAME, DISPLAY_FOR_MANAGERS, DISPLAY_FOR_OTHERS, END, GROUP, HAS_PROFILE_IMAGE, HIDDEN_CUSTOM_PROFILE_FIELDS, HIDE_EMAIL, HIDE_PREFERRED_PHONE, MAX, MIN, NATURE, NETWORK, OTHER_BROKERS, OWNER, PO_BOX_PLAIN, STATUS, TYPE_FLOAT, TYPE_KEYWORD, USER, USER_STATUS, ZIP_PLAIN
-
-
Constructor Summary
Constructors Constructor Description QueryAccessor()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcustomField(CustomField<?,?,?> field, CustomFieldValueForSearchDTO dto)Appends a single filter with a custom fieldvoidcustomField(CustomField<?,?,?> field, CustomFieldValueForSearchDTO dto, boolean canViewHidden)Appends a single filter with a custom field<C extends CustomField<C,?,?>>
voidcustomFields(Class<C> fieldType, Collection<CustomFieldValueForSearchDTO> dtos, boolean canViewHidden, Predicate<C> isValid)Appends all the given custom field filters<C extends CustomField<C,?,?>>
voidcustomFields(Class<C> fieldType, Collection<CustomFieldValueForSearchDTO> dtos, Predicate<C> isValid)Appends all the given custom field filtersvoidentities(String field, Collection<? extends SimpleEntity> entities)Appends a filter for entity values by idvoidentities(Property<?,?> property, Collection<? extends SimpleEntity> entities)Appends a filter for entity values by idvoidenums(String field, Collection<? extends Enum<?>> enums)Appends a filter for enum values by enum namevoidenums(Property<?,?> property, Collection<? extends Enum<?>> enums)Appends a filter for enum values by enum nameorg.elasticsearch.index.query.BoolQueryBuilderfilter(org.elasticsearch.index.query.QueryBuilder queryBuilder)voidinvalid()Adds a filter that will never match.static org.elasticsearch.index.query.QueryBuilderinvalidFilter()A filter that is always invalid<CF extends CustomField<CF,?,?>>
voidkeywords(String kw, Map<String,Float> heights, Collection<String> exact, boolean allowPhone)Appends filters to match either fields with exact match, or those with text analysis from a query stringorg.elasticsearch.index.query.BoolQueryBuildermust(org.elasticsearch.index.query.QueryBuilder queryBuilder)org.elasticsearch.index.query.BoolQueryBuildermustNot(org.elasticsearch.index.query.QueryBuilder queryBuilder)voidperiod(String name, IDatePeriod iPeriod)Appends a period range filtervoidperiod(Property<?,?> property, IDatePeriod iPeriod)Appends a period range filterorg.elasticsearch.index.query.BoolQueryBuilderqueryBuilder()Returns the underlyingBoolQueryBuildervoidrandomScore()Adds a random score functionvoidrange(String name, Range<?> range)Appends a range filtervoidrange(Property<?,?> property, Range<?> range)Appends a range filtervoidscript(CharSequence code, Map<String,Object> params)Appends a script filtervoidscript(org.elasticsearch.script.Script script)Appends a script filterorg.elasticsearch.index.query.BoolQueryBuildershould(org.elasticsearch.index.query.QueryBuilder queryBuilder)protected static org.elasticsearch.index.query.QueryBuildertoAddressesQueryBuilder(DistanceDTO distance, boolean located, boolean required, String addressField)Returns the query filters over nested addresses associated to the given addressField.StringtoString()voiduser(Collection<ProfileField> profileFields, Collection<BaseValueForSearchDTO> values, Collection<? extends BasicGroupVO> groups, Collection<? extends UserVO> brokerVOs, Boolean onlyBrokerIsMain, Boolean hasBroker)Appends filters over the user: profile field filters (basic / custom / address), groups and brokers-
Methods inherited from class org.cyclos.impl.search.elasticsearch.ESAccessor
accountService, allLanguages, baseName, booleanSuffix, configurationHandler, conversionHandler, customFieldValueHandler, dateSuffix, decimalSuffix, entityManagerHandler, exactMatchFieldName, exactMatchFieldName, groupsHandler, idSuffix, ignoredSuffix, integerSuffix, keywordSuffix, languageSuffixes, nativeQueryHandler, newScript, periodBegin, periodBegin, periodEnd, periodEnd, privateSuffix, productsHandler, profileFieldHandler, publicSuffix, sortFieldName, sortFieldName, sortFieldName, storedFieldName, storedFieldName, storedFieldName, storedFieldName, suffix, textSuffix
-
-
-
-
Method Detail
-
invalidFilter
public static org.elasticsearch.index.query.QueryBuilder invalidFilter()
A filter that is always invalid
-
toAddressesQueryBuilder
protected static org.elasticsearch.index.query.QueryBuilder toAddressesQueryBuilder(DistanceDTO distance, boolean located, boolean required, String addressField)
Returns the query filters over nested addresses associated to the given addressField. If a valid distance is provided, appends the distance filter. If located addresses are required or just addresses regarding are located or not (for example, because they must be returned) then adds a filter to ensure at least one (located) address exists. Otherwise, if no filter must be applied it returns null.
-
customField
public void customField(CustomField<?,?,?> field, CustomFieldValueForSearchDTO dto)
Appends a single filter with a custom field
-
customField
public void customField(CustomField<?,?,?> field, CustomFieldValueForSearchDTO dto, boolean canViewHidden)
Appends a single filter with a custom field
-
customFields
public <C extends CustomField<C,?,?>> void customFields(Class<C> fieldType, Collection<CustomFieldValueForSearchDTO> dtos, boolean canViewHidden, Predicate<C> isValid)
Appends all the given custom field filters
-
customFields
public <C extends CustomField<C,?,?>> void customFields(Class<C> fieldType, Collection<CustomFieldValueForSearchDTO> dtos, Predicate<C> isValid)
Appends all the given custom field filters
-
entities
public void entities(Property<?,?> property, Collection<? extends SimpleEntity> entities)
Appends a filter for entity values by id
-
entities
public void entities(String field, Collection<? extends SimpleEntity> entities)
Appends a filter for entity values by id
-
enums
public void enums(Property<?,?> property, Collection<? extends Enum<?>> enums)
Appends a filter for enum values by enum name
-
enums
public void enums(String field, Collection<? extends Enum<?>> enums)
Appends a filter for enum values by enum name
-
filter
public org.elasticsearch.index.query.BoolQueryBuilder filter(org.elasticsearch.index.query.QueryBuilder queryBuilder)
-
invalid
public void invalid()
Adds a filter that will never match. Used on inconsistent query parameters
-
keywords
public <CF extends CustomField<CF,?,?>> void keywords(String kw, Map<String,Float> heights, Collection<String> exact, boolean allowPhone)
Appends filters to match either fields with exact match, or those with text analysis from a query string
-
must
public org.elasticsearch.index.query.BoolQueryBuilder must(org.elasticsearch.index.query.QueryBuilder queryBuilder)
-
mustNot
public org.elasticsearch.index.query.BoolQueryBuilder mustNot(org.elasticsearch.index.query.QueryBuilder queryBuilder)
-
period
public void period(Property<?,?> property, IDatePeriod iPeriod)
Appends a period range filter
-
period
public void period(String name, IDatePeriod iPeriod)
Appends a period range filter
-
queryBuilder
public org.elasticsearch.index.query.BoolQueryBuilder queryBuilder()
Returns the underlyingBoolQueryBuilder
-
randomScore
public void randomScore()
Adds a random score function
-
script
public void script(CharSequence code, Map<String,Object> params)
Appends a script filter
-
script
public void script(org.elasticsearch.script.Script script)
Appends a script filter
-
should
public org.elasticsearch.index.query.BoolQueryBuilder should(org.elasticsearch.index.query.QueryBuilder queryBuilder)
-
user
public void user(Collection<ProfileField> profileFields, Collection<BaseValueForSearchDTO> values, Collection<? extends BasicGroupVO> groups, Collection<? extends UserVO> brokerVOs, Boolean onlyBrokerIsMain, Boolean hasBroker)
Appends filters over the user: profile field filters (basic / custom / address), groups and brokers
-
-