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

  • 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: 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<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 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 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: 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<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 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 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: 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<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 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<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)