Class OpenSearchQueryConfigurer
java.lang.Object
io.jmix.search.searching.AbstractSearchQueryConfigurer<org.opensearch.client.opensearch.core.SearchRequest.Builder,org.opensearch.client.opensearch._types.query_dsl.Query.Builder,org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>>
io.jmix.searchopensearch.searching.strategy.OpenSearchQueryConfigurer
- All Implemented Interfaces:
SearchQueryConfigurer<org.opensearch.client.opensearch.core.SearchRequest.Builder,org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>>
@Component("search_OpenSearchQueryConfigurer")
public class OpenSearchQueryConfigurer
extends AbstractSearchQueryConfigurer<org.opensearch.client.opensearch.core.SearchRequest.Builder,org.opensearch.client.opensearch._types.query_dsl.Query.Builder,org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>>
A specific implementation of
AbstractSearchQueryConfigurer for OpenSearch.
This class provides methods for configuring search queries and request builders tailored
to OpenSearch'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
ConstructorsModifierConstructorDescriptionprotectedOpenSearchQueryConfigurer(SearchRequestScopeProvider searchRequestScopeProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>createQueryForMultipleIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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 org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>createQueryForSingleIndex(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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 org.opensearch.client.opensearch._types.query_dsl.QuerycreateQueryForSingleIndexInternal(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope) protected List<org.opensearch.client.opensearch._types.query_dsl.Query>createSubqueriesForIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) protected voidsetQueryToRequestBuilder(SearchRequestContext<org.opensearch.client.opensearch.core.SearchRequest.Builder> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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
-
OpenSearchQueryConfigurer
-
-
Method Details
-
setQueryToRequestBuilder
protected void setQueryToRequestBuilder(SearchRequestContext<org.opensearch.client.opensearch.core.SearchRequest.Builder> requestContext, SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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<org.opensearch.client.opensearch.core.SearchRequest.Builder,org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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 org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query> createQueryForSingleIndex(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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<org.opensearch.client.opensearch.core.SearchRequest.Builder,org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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 org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query> createQueryForMultipleIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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<org.opensearch.client.opensearch.core.SearchRequest.Builder,org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._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<org.opensearch.client.opensearch._types.query_dsl.Query> createSubqueriesForIndexes(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>> businessQueryConfigurer, List<IndexSearchRequestScope> indexSearchRequestScopes) -
createQueryForSingleIndexInternal
protected org.opensearch.client.opensearch._types.query_dsl.Query createQueryForSingleIndexInternal(SearchQueryConfigurer.BusinessQueryConfigurer<org.opensearch.client.opensearch._types.query_dsl.Query.Builder, org.opensearch.client.util.ObjectBuilder<org.opensearch.client.opensearch._types.query_dsl.Query>> businessQueryConfigurer, IndexSearchRequestScope indexSearchRequestScope)
-