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.
  • Constructor Details

  • 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: AbstractSearchQueryConfigurer
      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.
      Specified by:
      setQueryToRequestBuilder in class 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>>
      Parameters:
      requestContext - context of the search request, providing the request builder and related information
      businessQueryConfigurer - business-specific query configuration logic to apply to the query builder
      indexSearchRequestScopes - 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: AbstractSearchQueryConfigurer
      Creates a query object for a single index based on the provided query configuration and the given index search request scope.
      Specified by:
      createQueryForSingleIndex in class 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>>
      Parameters:
      businessQueryConfigurer - the business-specific query configuration logic to apply to the query builder
      indexSearchRequestScope - 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: AbstractSearchQueryConfigurer
      Creates a query object for multiple indexes based on the provided query configuration and the list of index search request scopes.
      Specified by:
      createQueryForMultipleIndexes in class 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>>
      Parameters:
      businessQueryConfigurer - the business-specific query configuration logic to apply to the query builder
      indexSearchRequestScopes - 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)