Class ElasticSearchQueryConfigurer
java.lang.Object
io.jmix.search.searching.AbstractSearchQueryConfigurer<co.elastic.clients.elasticsearch.core.SearchRequest.Builder,co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder,co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>>
io.jmix.searchelasticsearch.searching.strategy.ElasticSearchQueryConfigurer
- All Implemented Interfaces:
SearchQueryConfigurer<co.elastic.clients.elasticsearch.core.SearchRequest.Builder,co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>>
@Component("search_ElasticSearchQueryConfigurer")
public class ElasticSearchQueryConfigurer
extends AbstractSearchQueryConfigurer<co.elastic.clients.elasticsearch.core.SearchRequest.Builder,co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder,co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>>
A specific implementation of
AbstractSearchQueryConfigurer for ElasticSearch.
This class provides methods for configuring search queries and request builders tailored
to ElasticSearch's API and query structure.
The class uses an instance of SearchRequestScopeProvider to manage the relevant
search scopes for the requested entities and subfield settings.-
Nested Class Summary
Nested classes/interfaces inherited from interface io.jmix.search.searching.SearchQueryConfigurer
SearchQueryConfigurer.BusinessQueryConfigurer<QB,OB> -
Field Summary
Fields inherited from class io.jmix.search.searching.AbstractSearchQueryConfigurer
NO_VIRTUAL_SUBFIELDS, searchRequestScopeProvider, WITH_PREFIX_VIRTUAL_SUBFIELDS -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedElasticSearchQueryConfigurer(SearchRequestScopeProvider searchRequestScopeProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>createQueryForMultipleIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) Creates a query object for multiple indexes based on the provided query configuration and the list of index search request scopes.protected co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>createQueryForSingleIndex(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope) Creates a query object for a single index based on the provided query configuration and the given index search request scope.protected co.elastic.clients.elasticsearch._types.query_dsl.QuerycreateQueryForSingleIndexInternal(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope) protected List<co.elastic.clients.elasticsearch._types.query_dsl.Query>createSubqueriesForIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) protected voidsetQueryToRequestBuilder(SearchRequestContext<co.elastic.clients.elasticsearch.core.SearchRequest.Builder> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) Configures the search query in the provided request builder by applying business-specific configurations and setting up the query parameters within the specified search request scopes.Methods inherited from class io.jmix.search.searching.AbstractSearchQueryConfigurer
configureRequest, configureRequest, createQuery
-
Constructor Details
-
ElasticSearchQueryConfigurer
-
-
Method Details
-
setQueryToRequestBuilder
protected void setQueryToRequestBuilder(SearchRequestContext<co.elastic.clients.elasticsearch.core.SearchRequest.Builder> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) Description copied from class:AbstractSearchQueryConfigurerConfigures the search query in the provided request builder by applying business-specific configurations and setting up the query parameters within the specified search request scopes.- Specified by:
setQueryToRequestBuilderin classAbstractSearchQueryConfigurer<co.elastic.clients.elasticsearch.core.SearchRequest.Builder,co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> - Parameters:
requestContext- context of the search request, providing the request builder and related informationbusinessQueryConfigurer- business-specific query configuration logic to apply to the query builderindexSearchRequestScopes- list of search request scopes that define the boundaries of the search query
-
createQueryForSingleIndex
protected co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query> createQueryForSingleIndex(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope) Description copied from class:AbstractSearchQueryConfigurerCreates a query object for a single index based on the provided query configuration and the given index search request scope.- Specified by:
createQueryForSingleIndexin classAbstractSearchQueryConfigurer<co.elastic.clients.elasticsearch.core.SearchRequest.Builder,co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> - Parameters:
businessQueryConfigurer- the business-specific query configuration logic to apply to the query builderindexSearchRequestScope- the index search request scope defining the boundaries of the query- Returns:
- configured query object for the specified single index search request scope
-
createQueryForMultipleIndexes
protected co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query> createQueryForMultipleIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) Description copied from class:AbstractSearchQueryConfigurerCreates a query object for multiple indexes based on the provided query configuration and the list of index search request scopes.- Specified by:
createQueryForMultipleIndexesin classAbstractSearchQueryConfigurer<co.elastic.clients.elasticsearch.core.SearchRequest.Builder,co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> - Parameters:
businessQueryConfigurer- the business-specific query configuration logic to apply to the query builderindexSearchRequestScopes- the list of index search request scopes defining the boundaries of the query- Returns:
- configured query object for the specified multiple index search request scopes
-
createSubqueriesForIndexes
protected List<co.elastic.clients.elasticsearch._types.query_dsl.Query> createSubqueriesForIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) -
createQueryForSingleIndexInternal
protected co.elastic.clients.elasticsearch._types.query_dsl.Query createQueryForSingleIndexInternal(SearchQueryConfigurer.BusinessQueryConfigurer<co.elastic.clients.elasticsearch._types.query_dsl.Query.Builder, co.elastic.clients.util.ObjectBuilder<co.elastic.clients.elasticsearch._types.query_dsl.Query>> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope)
-