Class RestDiscoverQueryBuilder

java.lang.Object
org.dspace.app.rest.utils.RestDiscoverQueryBuilder

@Component public class RestDiscoverQueryBuilder extends Object
This class builds the queries for the /search and /facet endpoints.
  • Constructor Details

    • RestDiscoverQueryBuilder

      public RestDiscoverQueryBuilder()
  • Method Details

    • buildQuery

      public DiscoverQuery buildQuery(Context context, IndexableObject scope, DiscoveryConfiguration discoveryConfiguration, String query, List<SearchFilter> searchFilters, String dsoType, org.springframework.data.domain.Pageable page) throws DSpaceBadRequestException
      Build a discovery query
      Parameters:
      context - the DSpace context
      scope - the scope for this discovery query
      discoveryConfiguration - the discovery configuration for this discovery query
      query - the query string for this discovery query
      searchFilters - the search filters for this discovery query
      dsoType - only include search results with this type
      page - the pageable for this discovery query
      Throws:
      DSpaceBadRequestException
    • buildQuery

      public DiscoverQuery buildQuery(Context context, IndexableObject scope, DiscoveryConfiguration discoveryConfiguration, String query, List<SearchFilter> searchFilters, List<String> dsoTypes, org.springframework.data.domain.Pageable page) throws DSpaceBadRequestException
      Build a discovery query
      Parameters:
      context - the DSpace context
      scope - the scope for this discovery query
      discoveryConfiguration - the discovery configuration for this discovery query
      query - the query string for this discovery query
      searchFilters - the search filters for this discovery query
      dsoTypes - only include search results with one of these types
      page - the pageable for this discovery query
      Throws:
      DSpaceBadRequestException
    • buildFacetQuery

      public DiscoverQuery buildFacetQuery(Context context, IndexableObject scope, DiscoveryConfiguration discoveryConfiguration, String prefix, String query, List<SearchFilter> searchFilters, String dsoType, org.springframework.data.domain.Pageable page, String facetName) throws DSpaceBadRequestException
      Create a discovery facet query.
      Parameters:
      context - the DSpace context
      scope - the scope for this discovery query
      discoveryConfiguration - the discovery configuration for this discovery query
      prefix - limit the facets results to those starting with the given prefix.
      query - the query string for this discovery query
      searchFilters - the search filters for this discovery query
      dsoType - only include search results with this type
      page - the pageable for this discovery query
      facetName - the facet field
      Throws:
      DSpaceBadRequestException
    • buildFacetQuery

      public DiscoverQuery buildFacetQuery(Context context, IndexableObject scope, DiscoveryConfiguration discoveryConfiguration, String prefix, String query, List<SearchFilter> searchFilters, List<String> dsoTypes, org.springframework.data.domain.Pageable page, String facetName) throws DSpaceBadRequestException
      Create a discovery facet query.
      Parameters:
      context - the DSpace context
      scope - the scope for this discovery query
      discoveryConfiguration - the discovery configuration for this discovery query
      prefix - limit the facets results to those starting with the given prefix.
      query - the query string for this discovery query
      searchFilters - the search filters for this discovery query
      dsoTypes - only include search results with one of these types
      page - the pageable for this discovery query
      facetName - the facet field
      Throws:
      DSpaceBadRequestException