Interface AsSearchProvider

All Known Implementing Classes:
DefaultAsSearchProviderFactory.CombinedSearchProvider, MockAsSearchProvider, SnAsSearchProvider, SolrAsSearchProvider

public interface AsSearchProvider
Represent the different search providers.
  • Method Details

    • getSupportedFeatures

      Set<AsFeatureFlag> getSupportedFeatures(String indexType)
      Returns a list of supported features.
      Parameters:
      indexType - - the index type code
      Returns:
      the supported features
    • getSupportedQueryContexts

      List<String> getSupportedQueryContexts(String indexType)
      Returns a list of supported query contexts.
      Returns:
      the supported query contexts
    • getIndexConfigurations

      List<AsIndexConfigurationData> getIndexConfigurations()
      Returns a list of index configurations.
      Returns:
      the index configurations
    • getIndexConfigurationForCode

      Optional<AsIndexConfigurationData> getIndexConfigurationForCode(String code)
      Returns the index configuration for the provided code.
      Parameters:
      code - - the index configuration code
      Returns:
      the index type
    • getIndexTypes

      List<AsIndexTypeData> getIndexTypes()
      Returns a list of index types.
      Returns:
      the index types
    • getIndexTypes

      List<AsIndexTypeData> getIndexTypes(String indexConfiguration)
      Returns a list of index types for a given index configuration.
      Parameters:
      indexConfiguration - - the index configuration code
      Returns:
      the index types
    • getIndexTypeForCode

      Optional<AsIndexTypeData> getIndexTypeForCode(String code)
      Returns the index type for the provided code.
      Parameters:
      code - - the index type code
      Returns:
      the index type
    • getIndexProperties

      List<AsIndexPropertyData> getIndexProperties(String indexType)
      Returns a list of index properties for a given index type.
      Parameters:
      indexType - - the index type code
      Returns:
      the index properties
    • getIndexPropertyForCode

      Optional<AsIndexPropertyData> getIndexPropertyForCode(String indexType, String code)
      Returns the index property for the provided code.
      Parameters:
      code - - the index property code
      Returns:
      the index property
    • getSupportedCatalogVersions

      List<CatalogVersionModel> getSupportedCatalogVersions(String indexConfiguration, String indexType)
      Returns a list of catalog versions for a given index configuration and type.
      Parameters:
      indexConfiguration - - the index configuration
      indexType - - the index type
      Returns:
      the catalog versions
    • getSupportedLanguages

      List<LanguageModel> getSupportedLanguages(String indexConfiguration, String indexType)
      Returns a list of languages for a given index configuration and type.
      Parameters:
      indexConfiguration - - the index configuration
      indexType - - the index type
      Returns:
      the languages
    • getSupportedCurrencies

      List<CurrencyModel> getSupportedCurrencies(String indexConfiguration, String indexType)
      Returns a list of currencies for a given index configuration and type.
      Parameters:
      indexConfiguration - - the index configuration
      indexType - - the index type
      Returns:
      the currencies
    • getSupportedFacetExpressions

      List<AsExpressionData> getSupportedFacetExpressions(String indexType)
      Returns a list of expressions for a given index type that can be used for facets.
      Parameters:
      indexType - - the index type code
      Returns:
      the expressions
    • isValidFacetExpression

      boolean isValidFacetExpression(String indexType, String expression)
      Checks if a given index property can be used for facets.
      Parameters:
      indexType - - the index type code
      expression - - the facet expression
      Returns:
      true if expression can be used for facets, false otherwise
    • getSupportedFacetTypes

      List<AsFacetType> getSupportedFacetTypes(String indexType)
      Returns a list of facet types for a given index type.
      Parameters:
      indexType - - the index type code
      Returns:
      the facet types
    • isValidFacetType

      boolean isValidFacetType(String indexType, AsFacetType facetType)
      Checks if a given facet type can be used for a given index type.
      Parameters:
      indexType - - the index type code
      facetType - - the facet type
      Returns:
      true if facet type can be used, false otherwise
    • getSupportedFacetSorts

      List<AsFacetSortData> getSupportedFacetSorts(String indexType)
      Returns a list of facet sorts for a given index type.
      Parameters:
      indexType - - the index type code
      Returns:
      the facet sorts
    • isValidFacetSort

      boolean isValidFacetSort(String indexType, String sort)
      Checks if a given sort can be used for facets.
      Parameters:
      indexType - - the index type code
      sort - - the sort
      Returns:
      true if sort can be used for facets, false otherwise
    • getSupportedBoostTypes

      List<AsBoostType> getSupportedBoostTypes(String indexType)
      Returns a list of boost types for a given index type.
      Parameters:
      indexType - - the index type code
      Returns:
      the boost types
    • isValidBoostType

      boolean isValidBoostType(String indexType, AsBoostType boostType)
      Checks if a given boost type can be used for a given index type.
      Parameters:
      indexType - - the index type code
      boostType - - the boost type
      Returns:
      true if boost type can be used, false otherwise
    • getSupportedSortExpressions

      List<AsExpressionData> getSupportedSortExpressions(String indexType)
      Returns a list of expressions for a given index type that can be used for sorts.
      Parameters:
      indexType - - the index type code
      Returns:
      the expressions
    • isValidSortExpression

      boolean isValidSortExpression(String indexType, String expression)
      Checks if a given expression can be used for sorts.
      Parameters:
      indexType - - the index type code
      expression - - the sort expression
      Returns:
      true if expression can be used for sorts, false otherwise
    • getSupportedGroupExpressions

      List<AsExpressionData> getSupportedGroupExpressions(String indexType)
      Returns a list of expressions for a given index type that can be used for groups.
      Parameters:
      indexType - - the index type code
      Returns:
      the expressions
    • isValidGroupExpression

      boolean isValidGroupExpression(String indexType, String expression)
      Checks if a given expression can be used for groups.
      Parameters:
      indexType - - the index type code
      expression - - the sort expression
      Returns:
      true if expression can be used for groups, false otherwise
    • getAvailableQualifiers

      List<String> getAvailableQualifiers(String indexType, String indexProperty) throws AsException
      Return list of qualifiers for index property.
      Parameters:
      indexType - - the index type code
      indexProperty - - the index property code
      Returns:
      the qualifiers
      Throws:
      AsException
    • search

      Performs a search query.
      Parameters:
      context - - the search profile context
      searchQuery - - the search query
      Throws:
      AsException - if and exception occurs during the search
      Since:
      6.7