Class SearchQuery

java.lang.Object
de.hybris.platform.solrfacetsearch.search.SearchQuery
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
BackofficeSearchQuery

public class SearchQuery extends Object implements Serializable
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • addLegacySorts

      protected final void addLegacySorts(SearchConfig searchConfig)
    • getQueryContexts

      public List<String> getQueryContexts()
      Returns the query contexts.
      Returns:
      the queryContexts
    • getFacetSearchConfig

      public FacetSearchConfig getFacetSearchConfig()
      Returns the facet search config.
      Returns:
      the facet search config
    • getIndexedType

      public IndexedType getIndexedType()
      Returns the indexed type.
      Returns:
      the indexed type
    • getLanguage

      public String getLanguage()
      Returns the language.
      Returns:
      the language
    • setLanguage

      public void setLanguage(String language)
      Sets the language.
      Parameters:
      language - - isocode of the language
    • getCurrency

      public String getCurrency()
      Returns the currency.
      Returns:
      the currency
    • setCurrency

      public void setCurrency(String currency)
      Sets the currency.
      Parameters:
      currency - - isocode of the currency
    • getCatalogVersions

      public List<CatalogVersionModel> getCatalogVersions()
      Returns the catalog versions.
      Returns:
      the catalog versions
    • setCatalogVersions

      public void setCatalogVersions(List<CatalogVersionModel> catalogVersions)
      Sets the catalog versions.
      Parameters:
      catalogVersions - - the catalog versions
    • getOffset

      public int getOffset()
      Returns the offset (page number). This is used for pagination.
      Returns:
      the offset (page number)
    • setOffset

      public void setOffset(int offset)
      Sets the offset (page number). This is used for pagination.
      Parameters:
      offset - the offset (page number)
    • getPageSize

      public int getPageSize()
      Returns the page size. This is used for pagination.
      Returns:
      the page size
    • setPageSize

      public void setPageSize(int pageSize)
      Sets the page size. This is used for pagination.
      Parameters:
      pageSize - the page size
    • nextPage

      public void nextPage()
      Changes the offset to the next page. Used for pagination.
    • prevPage

      public void prevPage()
      Changes the offset to the previous page. Used for pagination.
    • getDefaultOperator

      public SearchQuery.Operator getDefaultOperator()
      Returns the default operator for the search query.
      Returns:
      the defaultOperator
    • setDefaultOperator

      public void setDefaultOperator(SearchQuery.Operator defaultOperator)
      Sets the default operator for the search query.
      Parameters:
      defaultOperator - the default operator
    • addQuery

      public void addQuery(String field, String... values)
      Adds a query field.
      Parameters:
      field - - the field
      values - - the values
    • addQuery

      public void addQuery(String field, SearchQuery.Operator operator, String... values)
      Adds a query field.
      Parameters:
      field - - the field
      operator - - the operator
      values - - the values
    • addQuery

      public void addQuery(String field, SearchQuery.Operator operator, SearchQuery.QueryOperator queryOperator, String... values)
      Adds a query field.
      Parameters:
      field - - the field
      operator - - the operator
      queryOperator - - the query operator
      values - - the values
    • addQuery

      public void addQuery(String field, SearchQuery.Operator operator, SearchQuery.QueryOperator queryOperator, Set<String> values)
      Adds a query field.
      Parameters:
      field - - the field
      operator - - the operator
      queryOperator - - the query operator
      values - - the values
    • addQuery

      public void addQuery(QueryField query)
      Adds a query field.
      Parameters:
      query - - the query field
    • getQueries

      public List<QueryField> getQueries()
      Returns the query fields.
      Returns:
      the query fields
    • getFreeTextQueryBuilder

      public String getFreeTextQueryBuilder()
      Returns the query builder.
      Returns:
      the query builder
    • setFreeTextQueryBuilder

      public void setFreeTextQueryBuilder(String freeTextQueryBuilder)
      Sets the query builder.
      Parameters:
      freeTextQueryBuilder - - the query builder
    • getFreeTextQueryBuilderParameters

      public Map<String,String> getFreeTextQueryBuilderParameters()
      Returns the query builder parameters.
      Returns:
      the query builder parameters
    • getUserQuery

      public String getUserQuery()
      Returns the user query.
      Returns:
      the user query
    • setUserQuery

      public void setUserQuery(String userQuery)
      Sets the user query.
      Parameters:
      userQuery - - the user query
    • getKeywords

      public List<Keyword> getKeywords()
      Returns the keywords.
      Returns:
      the keywords
    • setKeywords

      public void setKeywords(List<Keyword> keywords)
      Sets the keywords.
      Parameters:
      keywords - - the keywords
    • addFreeTextQuery

      public void addFreeTextQuery(String field, Integer minTermLength, Float boost)
      Adds a free text query field.
      Parameters:
      field - - the field
      minTermLength - - minimal length of the search term
      boost - - the boost value
    • addFreeTextQuery

      public void addFreeTextQuery(FreeTextQueryField freeTextQuery)
      Adds a free text query field.
      Parameters:
      freeTextQuery - - the free text query field
    • getFreeTextQueries

      public List<FreeTextQueryField> getFreeTextQueries()
      Returns the free text query fields.
      Returns:
      the free text query fields
    • addFreeTextFuzzyQuery

      public void addFreeTextFuzzyQuery(String field, Integer minTermLength, Integer fuzziness, Float boost)
      Adds a free text fuzzy query field.
      Parameters:
      field - -the field
      minTermLength - - minimal length of the search term
      fuzziness - - the fuzziness value
      boost - - the boost value
    • addFreeTextFuzzyQuery

      public void addFreeTextFuzzyQuery(FreeTextFuzzyQueryField freeTextFuzzyQuery)
      Adds a free text fuzzy query field.
      Parameters:
      freeTextFuzzyQuery - -the free text fuzzy query field
    • getFreeTextFuzzyQueries

      public List<FreeTextFuzzyQueryField> getFreeTextFuzzyQueries()
      Returns the free text fuzzy query fields.
      Returns:
      the free text fuzzy query fields
    • addFreeTextWildcardQuery

      public void addFreeTextWildcardQuery(String field, Integer minTermLength, WildcardType wildcardType, Float boost)
      Adds a free text wildcard query field.
      Parameters:
      field - - the field
      minTermLength - - minimal length of the search term
      wildcardType - - the wildcard type
      boost - - the boost value
    • addFreeTextWildcardQuery

      public void addFreeTextWildcardQuery(FreeTextWildcardQueryField freeTextWildcardQuery)
      Adds a free text wildcard query field.
      Parameters:
      freeTextWildcardQuery - -the free text wildcard query field
    • getFreeTextWildcardQueries

      public List<FreeTextWildcardQueryField> getFreeTextWildcardQueries()
      Returns the free text wildcard query fields.
      Returns:
      the free text wildcard query fields
    • addFreeTextPhraseQuery

      public void addFreeTextPhraseQuery(String field, Float slop, Float boost)
      Adds a free text phrase query field.
      Parameters:
      field - - the field
      slop - - the slop value
      boost - - the boost value
    • addFreeTextPhraseQuery

      public void addFreeTextPhraseQuery(FreeTextPhraseQueryField freeTextPhraseQuery)
      Adds a free text phrase query field.
      Parameters:
      freeTextPhraseQuery - - the free text phrase query field
    • getFreeTextPhraseQueries

      public List<FreeTextPhraseQueryField> getFreeTextPhraseQueries()
      Returns the free text phrase query fields.
      Returns:
      the free text phrase query fields
    • addRawQuery

      public void addRawQuery(String rawQuery)
      Adds a raw query using lucene syntax.
      Parameters:
      rawQuery - - the raw query
    • addRawQuery

      public void addRawQuery(RawQuery rawQuery)
      Adds a raw query using lucene syntax.
      Parameters:
      rawQuery - - the raw query
    • getRawQueries

      public List<RawQuery> getRawQueries()
      Returns the raw queries.
      Returns:
      the raw queries
    • addFilterQuery

      public void addFilterQuery(String field, String... values)
      Adds a filter query field.
      Parameters:
      field - - the field
      values - - the values
    • addFilterQuery

      public void addFilterQuery(String field, SearchQuery.Operator operator, String... values)
      Adds a filter query field.
      Parameters:
      field - - the field
      operator - - the operator
      values - - the values
    • addFilterQuery

      public void addFilterQuery(String field, SearchQuery.Operator operator, Set<String> values)
      Adds a filter query field.
      Parameters:
      field - - the field
      operator - - the operator
      values - - the values
    • addFilterQuery

      public void addFilterQuery(QueryField query)
      Adds a filter query field.
      Parameters:
      query - - the filter query field
    • getFilterQueries

      public List<QueryField> getFilterQueries()
      Returns the filter query fields.
      Returns:
      the filter query fields
    • addFilterRawQuery

      public void addFilterRawQuery(String rawQuery)
      Adds a filter raw query using lucene syntax.
      Parameters:
      rawQuery - - the raw query
    • addFilterRawQuery

      public void addFilterRawQuery(RawQuery rawQuery)
      Adds a filter raw query using lucene syntax.
      Parameters:
      rawQuery - - the raw query
    • getFilterRawQueries

      public List<RawQuery> getFilterRawQueries()
      Returns the filter raw queries.
      Returns:
      the filter raw queries
    • setGroupCommand

      public void setGroupCommand(String field)
      Sets the group command field.
      Parameters:
      field - - the group field
    • setGroupCommand

      public void setGroupCommand(String field, Integer groupLimit)
      Sets the group command field.
      Parameters:
      field - - the group field
      groupLimit - - the group limit
    • setGroupCommand

      public void setGroupCommand(GroupCommandField groupCommand)
      Sets the group command field.
      Parameters:
      groupCommand - - the group command field
    • getGroupCommand

      public GroupCommandField getGroupCommand()
      Returns the group command field.
      Returns:
      the group command fields
    • addGroupCommand

      @Deprecated(since="2105", forRemoval=true) public void addGroupCommand(String field)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Adds group command field.
      Parameters:
      field - - the group field
    • addGroupCommand

      @Deprecated(since="2105", forRemoval=true) public void addGroupCommand(String field, Integer groupLimit)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Adds group command field.
      Parameters:
      field - - the group field
      groupLimit - - the group limit
    • addGroupCommand

      @Deprecated(since="2105", forRemoval=true) public void addGroupCommand(GroupCommandField groupCommand)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Adds group command field.
      Parameters:
      groupCommand - - the group command field
    • getGroupCommands

      @Deprecated(since="2105", forRemoval=true) public List<GroupCommandField> getGroupCommands()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Replaced by getGroupCommand().
      Returns group command fields.
      Returns:
      the group command fields
    • isGroupFacets

      public boolean isGroupFacets()
      Returns true if group facets is enabled for the search query.
      Returns:
      true if group facets is enabled, false otherwise
    • setGroupFacets

      public void setGroupFacets(boolean groupFacets)
      Enables or disables group facets for the search query.
      Parameters:
      groupFacets - true to enable group facets, false to disable it
    • addSort

      public void addSort(String field)
      Adds a sort field using ascending as sort order.
      Parameters:
      field - - the field
    • addSort

      public void addSort(String field, OrderField.SortOrder sortOrder)
      Adds a sort field.
      Parameters:
      field - - the field
      sortOrder - - the sort order
    • addSort

      public void addSort(OrderField sort)
      Adds a sort field.
      Parameters:
      sort - - the sort field
    • getSorts

      public List<OrderField> getSorts()
      Returns the sort fields.
      Returns:
      the sort fields
    • addField

      public void addField(String field)
      Adds a field to the list of fields that will be returned within a query response.
      Parameters:
      field - - the field
    • getFields

      public List<String> getFields()
      Returns the list of fields that will be returned within a query response.
      Returns:
      the fields
    • addHighlightingField

      public void addHighlightingField(String highlightingField)
      Adds a field to the list of fields that will be used for highlighting the search term.
      Parameters:
      highlightingField - - the field used for highlighting.
    • getHighlightingFields

      public List<String> getHighlightingFields()
      Returns the list of fields that will be used for highlighting search term.
      Returns:
      the fields
    • addFacet

      public void addFacet(String field)
      Adds a facet field.
      Parameters:
      field - - the field
    • addFacet

      public void addFacet(String field, FacetType facetType)
      Adds a facet field.
      Parameters:
      field - - the field
      facetType - - the facet type
    • addFacet

      public void addFacet(FacetField facet)
      Adds a facet field.
      Parameters:
      facet - - the facet field
    • getFacets

      public List<FacetField> getFacets()
      Returns the facet fields.
      Returns:
      the facet fields.
    • addFacetValue

      public void addFacetValue(String field, String... values)
      Adds a facet value field.
      Parameters:
      field - - the field
      values - - the values
    • addFacetValue

      public void addFacetValue(String field, Set<String> values)
      Adds a facet value field.
      Parameters:
      field - - the field
      values - - the values
    • addFacetValue

      public void addFacetValue(FacetValueField facetValue)
      Adds a facet value field.
      Parameters:
      facetValue - - the facet value field
    • getFacetValues

      public List<FacetValueField> getFacetValues()
      Returns the facet value fields.
      Returns:
      the facet value fields.
    • addBoost

      public void addBoost(String field, SearchQuery.QueryOperator queryOperator, Object value, Float boost, BoostField.BoostType boostType)
    • addBoost

      public void addBoost(BoostField boostField)
    • getBoosts

      public List<BoostField> getBoosts()
    • addPromotedItem

      public void addPromotedItem(PK itemPk)
    • getPromotedItems

      public List<PK> getPromotedItems()
    • addExcludedItem

      public void addExcludedItem(PK itemPk)
    • getExcludedItems

      public List<PK> getExcludedItems()
    • isEnableSpellcheck

      public boolean isEnableSpellcheck()
      Returns true if spell checking is enabled for the search query.
      Returns:
      true if spell checking is enabled, false otherwise
    • setEnableSpellcheck

      public void setEnableSpellcheck(boolean enableSpellcheck)
      Enables or disables spell checking for the search query.
      Parameters:
      enableSpellcheck - true to enable spell checking, false to disable it
    • addRawParam

      public void addRawParam(String param, String... values)
      Adds a new raw parameter.
      Parameters:
      param - - the parameter
      values - - the values for the parameter
    • getRawParams

      public Map<String,String[]> getRawParams()
      Returns the raw parameters.
      Returns:
      the raw parameters
    • getBreadcrumbs

      public List<Breadcrumb> getBreadcrumbs()
      Returns:
      the breadcrumbs
    • setQueryParser

      @Deprecated(since="5.7") public void setQueryParser(SearchQuery.QueryParser queryParser)
      Deprecated.
      Since 5.7, query syntax should not rely on specific query parser.
      Set custom QueryParser. If not set default query parser is used.
    • getQueryParser

      @Deprecated(since="5.7") public SearchQuery.QueryParser getQueryParser()
      Deprecated.
      Since 5.7, query syntax should not rely on specific query parser.
      Get custom QueryParser.
      Returns:
      QueryParser or null when it was not set.
    • addRawQuery

      @Deprecated(since="5.7") public void addRawQuery(String rawQuery, SearchQuery.Operator operator)
      Deprecated.
      Adds a raw query using lucene syntax.
      Parameters:
      rawQuery - - the raw query
      operator - - the operator
    • addBoostField

      @Deprecated(since="5.7") public void addBoostField(String field, String value, SearchQuery.Operator operator)
      Deprecated.
      Since 5.7, replaced by addBoost(BoostField)
    • getBoostFields

      @Deprecated(since="5.7") public List<QueryField> getBoostFields()
      Deprecated.
      Since 5.7, replaced by getRawQueries()
      Returns:
      list of all boost fields
    • findField

      protected int findField(String name)
    • findBoostField

      protected int findBoostField(String name)
    • addCoupledFields

      public void addCoupledFields(CoupledQueryField field)
      Adds logically coupled query fields.
    • getCoupledFields

      public List<CoupledQueryField> getCoupledFields()
      Returns:
      the coupledFields
    • getNamedSort

      public String getNamedSort()
    • setNamedSort

      public void setNamedSort(String namedSort)