public class SolrSearchController extends AbstractImpersonationController
ProductSearchFacade for issuing solr search queries. It extends from
AbstractImpersonationController, so all communication with the facade is done within a widget impersonation
context.| Modifier and Type | Field and Description |
|---|---|
protected static String |
MODEL_CATEGORYID |
protected static String |
MODEL_CURRENTFACETS |
static String |
MODEL_SORT_OPTION |
protected static String |
MODEL_TEXTSEARCH |
static ProductSearchPageData<SearchStateData,ProductData> |
NULL_SEARCH_PAGE_DATA |
static String |
SOCKET_IN_CATEGORYHIERARCHYDATA |
static String |
SOCKET_IN_REFINEMENTS |
static String |
SOCKET_IN_RESET |
static String |
SOCKET_IN_SEARCHQUERY |
static String |
SOCKET_IN_SMALLSEARCHRESULT |
static String |
SOCKET_IN_SORTOPTION |
static String |
SOCKET_OUT_PRODUCTSEARCHPAGE |
static String |
SOCKET_OUT_SEARCHRESULT |
static String |
SOCKET_OUT_SMALLSEARCHRESULT |
static String |
SOCKET_OUT_SORTOPTIONS |
| Constructor and Description |
|---|
SolrSearchController() |
| Modifier and Type | Method and Description |
|---|---|
void |
applySearchResult(ProductSearchPageData<SearchStateData,ProductData> searchPageData)
Handles the
ProductSearchPageData input. |
protected ProductSearchPageData |
doSearchWithPageSize(String text,
String categoryID,
List<FacetData<SearchStateData>> refinements,
String sort)
Performs the actual search for the given text search query, category, search refinements.
|
protected SearchStateResolver<SearchStateData> |
getSolrSearchQueryFacade() |
void |
refineSearch(List<FacetData<SearchStateData>> refinements)
Reads the incoming search refinements
FacetData and sends the corresponding search result to the output
socket. |
void |
reset(Pageable<ProductData> pageableProducts)
Resets the search state with the given pageable porducts.
|
void |
searchInCategory(CategoryHierarchyData categoryHierarchyData)
Socket handler for
CategoryHierarchyData input. |
void |
searchProducts(String query)
Socket handler for text search input.
|
void |
setProductSearchFacade(ProductSearchFacade productSearchFacade)
Setter for spring injection of
ProductSearchFacade. |
void |
setSolrSearchQueryFacade(SearchStateResolver<SearchStateData> solrSearchQueryFacade) |
void |
sortProductResult(String sortoption)
Reads the sort option String and applies to the current search result.
|
createImpersonationContext, executeInContext, getCatalogVersionService, getContextCatalogVersions, getContextCurrency, getContextLanguage, getImpersonationService, getInStoreService, getSearchRestrictionService, getSessionService, getUserService, setCatalogVersionService, setImpersonationService, setInStoreService, setSearchRestrictionService, setSessionService, setUserServicepublic static final String SOCKET_IN_SEARCHQUERY
public static final String SOCKET_IN_CATEGORYHIERARCHYDATA
public static final String SOCKET_IN_REFINEMENTS
public static final String SOCKET_IN_SORTOPTION
public static final String SOCKET_IN_SMALLSEARCHRESULT
public static final String SOCKET_IN_RESET
public static final String SOCKET_OUT_SORTOPTIONS
public static final String SOCKET_OUT_PRODUCTSEARCHPAGE
public static final String SOCKET_OUT_SEARCHRESULT
public static final String SOCKET_OUT_SMALLSEARCHRESULT
public static final String MODEL_SORT_OPTION
protected static final String MODEL_TEXTSEARCH
protected static final String MODEL_CATEGORYID
protected static final String MODEL_CURRENTFACETS
public static final ProductSearchPageData<SearchStateData,ProductData> NULL_SEARCH_PAGE_DATA
public void searchProducts(String query)
ProductSearchFacade#textSearch(SearchStateData, PageableData) in impersonation context.query - public void searchInCategory(CategoryHierarchyData categoryHierarchyData)
CategoryHierarchyData input. Performs
ProductSearchFacade#categorySearch(String, SearchStateData, PageableData) in impersonation context.categoryHierarchyData - public void reset(Pageable<ProductData> pageableProducts)
pageableProducts - - products to reset search result with. If null - search will be emptypublic void applySearchResult(ProductSearchPageData<SearchStateData,ProductData> searchPageData)
ProductSearchPageData input. The search was already performed, so it only distributes the
search result and sort options.searchPageData - public void sortProductResult(String sortoption)
sortoption - public void refineSearch(List<FacetData<SearchStateData>> refinements)
FacetData and sends the corresponding search result to the output
socket.refinements - protected ProductSearchPageData doSearchWithPageSize(String text, String categoryID, List<FacetData<SearchStateData>> refinements, String sort)
pageSize).text - categoryID - refinements - sort - ProductSearchPageData - search resultprotected SearchStateResolver<SearchStateData> getSolrSearchQueryFacade()
public void setSolrSearchQueryFacade(SearchStateResolver<SearchStateData> solrSearchQueryFacade)
solrSearchQueryFacade - the solrSearchQueryFacade to setpublic void setProductSearchFacade(ProductSearchFacade productSearchFacade)
ProductSearchFacade.productSearchFacade - Copyright © 2017 SAP SE. All Rights Reserved.