Package io.jmix.search.searching
Class AbstractSearchQueryConfigurer<RB,QB,OB>
java.lang.Object
io.jmix.search.searching.AbstractSearchQueryConfigurer<RB,QB,OB>
- Type Parameters:
RB- a platform-specific SearchRequestBuilder typeQB- a platform-specific QueryBuilder typeOB- a platform-specific ObjectBuilder type
- All Implemented Interfaces:
SearchQueryConfigurer<RB,QB, OB>
- Direct Known Subclasses:
ElasticSearchQueryConfigurer,OpenSearchQueryConfigurer
public abstract class AbstractSearchQueryConfigurer<RB,QB,OB>
extends Object
implements SearchQueryConfigurer<RB,QB,OB>
Implements common logic for all platform-specific implementations.
Contains "out of the box" SubfieldsProvider-s for the typical cases.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.jmix.search.searching.SearchQueryConfigurer
SearchQueryConfigurer.BusinessQueryConfigurer<QB,OB> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final VirtualSubfieldsProviderprotected final SearchRequestScopeProviderstatic final VirtualSubfieldsProvider -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractSearchQueryConfigurer(SearchRequestScopeProvider searchRequestScopeProvider) -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigureRequest(SearchRequestContext<RB> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer) Configures request for the data querying from the search server.voidconfigureRequest(SearchRequestContext<RB> requestContext, VirtualSubfieldsProvider virtualSubfieldsProvider, SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer) Configures request for the data querying from the search server.protected OBcreateQuery(SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) protected abstract OBcreateQueryForMultipleIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) protected abstract OBcreateQueryForSingleIndex(SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope) protected abstract voidquerySettingToRequestBuilder(SearchRequestContext<RB> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) Configures the search request by applying query settings using the provided request context, business query configurer, and index search request scopes.
-
Field Details
-
NO_VIRTUAL_SUBFIELDS
-
WITH_PREFIX_VIRTUAL_SUBFIELDS
-
searchRequestScopeProvider
-
-
Constructor Details
-
AbstractSearchQueryConfigurer
-
-
Method Details
-
configureRequest
public void configureRequest(SearchRequestContext<RB> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer) Description copied from interface:SearchQueryConfigurerConfigures request for the data querying from the search server.- Specified by:
configureRequestin interfaceSearchQueryConfigurer<RB,QB, OB> - Parameters:
requestContext- a request context for the request building.businessQueryConfigurer- a builder that builds query for the single index.
-
configureRequest
public void configureRequest(SearchRequestContext<RB> requestContext, VirtualSubfieldsProvider virtualSubfieldsProvider, SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer) Description copied from interface:SearchQueryConfigurerConfigures request for the data querying from the search server. Provides an ability to add subfields to the query.- Specified by:
configureRequestin interfaceSearchQueryConfigurer<RB,QB, OB> - Parameters:
requestContext- a request context for the request building.virtualSubfieldsProvider- - a provider that provides additional subfields by theVirtualSubfieldsProvider.FieldInfobusinessQueryConfigurer- a builder that builds query for the single index.
-
querySettingToRequestBuilder
protected abstract void querySettingToRequestBuilder(SearchRequestContext<RB> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) Configures the search request by applying query settings using the provided request context, business query configurer, and index search request scopes.- Parameters:
requestContext- the container holding the request building information and platform-specific request builderbusinessQueryConfigurer- the configurer used for building queries for given index search scopesindexSearchRequestScopes- a list of search request scopes representing the targeted indexes and their configurations
-
createQuery
protected OB createQuery(SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) -
createQueryForSingleIndex
protected abstract OB createQueryForSingleIndex(SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope) -
createQueryForMultipleIndexes
protected abstract OB createQueryForMultipleIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<QB, OB> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes)
-