@Service(value="blEnterpriseSearchSolrSearchServiceExtensionHandler")
public class EnterpriseSearchSolrSearchServiceExtensionHandler
extends org.broadleafcommerce.core.search.service.solr.AbstractSolrSearchServiceExtensionHandler
implements org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionHandler
| Modifier and Type | Field and Description |
|---|---|
protected com.broadleafcommerce.enterprise.common.extension.search.SolrBoostExtensionManager |
boostExtensionManager |
protected EnterpriseSearchBoostRuleService |
boostService |
protected org.broadleafcommerce.common.entity.service.EntityInformationService |
entityInfoService |
protected org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionManager |
extensionManager |
protected org.broadleafcommerce.core.search.dao.IndexFieldDao |
indexFieldDao |
protected org.broadleafcommerce.core.search.service.solr.SolrHelperService |
shs |
| Constructor and Description |
|---|
EnterpriseSearchSolrSearchServiceExtensionHandler() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
addBoostFunctions(String queryString,
List<String> boostFunctions,
List<Long> categoryIds,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria) |
protected void |
addBoostQueries(String queryString,
List<String> boostQueries,
List<Long> categoryIds,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria)
Helper method that creates and adds boost queries to the List for CategoryBoostRule's with
BoostRuleType.SEARCH_QUERY and BoostRuleType.MATCHING_VALUE, and GlobalBoostRule's with BoostRuleType.MATCHING_VALUE.
|
protected String |
buildBoostFunction(String solrFieldName,
BigDecimal boost,
Boolean descending,
Boolean ordinal,
BigDecimal minScore,
org.broadleafcommerce.core.search.domain.FieldEntity entityType,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria) |
protected String |
buildBoostQuery(String solrFieldName,
String queryString,
BigDecimal boost,
org.broadleafcommerce.core.search.domain.FieldEntity entityType,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria) |
protected List<? extends BoostRule> |
filterBoostRules(List<? extends BoostRule> boostRules)
This method is used to filter out any boost rules that we do not want to apply.
|
protected CategoryBoostRule |
getCategoryBoostRuleForSearch(List<Long> categoryIds) |
protected GlobalBoostRule |
getGlobalBoostRuleForSearch(org.broadleafcommerce.core.search.domain.IndexFieldType indexFieldType) |
org.broadleafcommerce.common.extension.ExtensionResultStatusType |
getPropertyNameForIndexField(org.broadleafcommerce.core.search.domain.IndexField field,
org.broadleafcommerce.core.search.domain.solr.FieldType fieldType,
String prefix,
org.broadleafcommerce.common.extension.ExtensionResultHolder<String> erh) |
org.broadleafcommerce.common.extension.ExtensionResultStatusType |
getQueryField(org.apache.solr.client.solrj.SolrQuery query,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria,
org.broadleafcommerce.core.search.domain.IndexFieldType indexFieldType,
org.broadleafcommerce.common.extension.ExtensionResultHolder<List<String>> queryFieldsResult) |
void |
init() |
org.broadleafcommerce.common.extension.ExtensionResultStatusType |
modifySearchResults(List<org.apache.solr.common.SolrDocument> responseDocuments,
List<org.broadleafcommerce.core.catalog.domain.Product> products) |
org.broadleafcommerce.common.extension.ExtensionResultStatusType |
modifySolrQuery(org.apache.solr.client.solrj.SolrQuery query,
String qualifiedSolrQuery,
List<org.broadleafcommerce.core.search.domain.SearchFacetDTO> facets,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria,
String defaultSort) |
protected boolean |
shouldSkipBasedOnQuery(String queryString,
BoostRule rule) |
addAdditionalCategoryIds, attachFacet, attachFacet, attachSortField, batchFetchCatalogData, buildActiveFacetFilter, buildActiveFacetFilter, buildPrefixListForIndexField, filterSearchFacetRanges, getCategoryId, getCategorySearchFacets, getSearchableIndexFields, getSearchFacets, modifySolrQuery, setFacetResultsgetPriority, isEnabled, setEnabled, setPriorityclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddAdditionalCategoryIds, attachFacet, attachFacet, attachSortField, batchFetchCatalogData, buildActiveFacetFilter, buildActiveFacetFilter, buildPrefixListForIndexField, filterSearchFacetRanges, getCategoryId, getCategorySearchFacets, getSearchableIndexFields, getSearchFacets, modifySolrQuery, setFacetResultsprotected org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionManager extensionManager
protected com.broadleafcommerce.enterprise.common.extension.search.SolrBoostExtensionManager boostExtensionManager
protected EnterpriseSearchBoostRuleService boostService
protected org.broadleafcommerce.core.search.service.solr.SolrHelperService shs
protected org.broadleafcommerce.core.search.dao.IndexFieldDao indexFieldDao
protected org.broadleafcommerce.common.entity.service.EntityInformationService entityInfoService
public EnterpriseSearchSolrSearchServiceExtensionHandler()
@PostConstruct public void init()
public org.broadleafcommerce.common.extension.ExtensionResultStatusType getQueryField(org.apache.solr.client.solrj.SolrQuery query,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria,
org.broadleafcommerce.core.search.domain.IndexFieldType indexFieldType,
org.broadleafcommerce.common.extension.ExtensionResultHolder<List<String>> queryFieldsResult)
getQueryField in interface org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionHandlergetQueryField in class org.broadleafcommerce.core.search.service.solr.AbstractSolrSearchServiceExtensionHandlerprotected GlobalBoostRule getGlobalBoostRuleForSearch(org.broadleafcommerce.core.search.domain.IndexFieldType indexFieldType)
protected CategoryBoostRule getCategoryBoostRuleForSearch(List<Long> categoryIds)
protected List<? extends BoostRule> filterBoostRules(List<? extends BoostRule> boostRules)
boostRules - a List of BoostRule's (either GlobalBoostRule's or CategoryBoostRule's)public org.broadleafcommerce.common.extension.ExtensionResultStatusType modifySearchResults(List<org.apache.solr.common.SolrDocument> responseDocuments, List<org.broadleafcommerce.core.catalog.domain.Product> products)
modifySearchResults in interface org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionHandlermodifySearchResults in class org.broadleafcommerce.core.search.service.solr.AbstractSolrSearchServiceExtensionHandlerpublic org.broadleafcommerce.common.extension.ExtensionResultStatusType modifySolrQuery(org.apache.solr.client.solrj.SolrQuery query,
String qualifiedSolrQuery,
List<org.broadleafcommerce.core.search.domain.SearchFacetDTO> facets,
org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria,
String defaultSort)
modifySolrQuery in interface org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionHandlermodifySolrQuery in class org.broadleafcommerce.core.search.service.solr.AbstractSolrSearchServiceExtensionHandlerprotected void addBoostQueries(String queryString, List<String> boostQueries, List<Long> categoryIds, org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria)
queryString - boostQueries - categoryIds - searchCriteria - protected void addBoostFunctions(String queryString, List<String> boostFunctions, List<Long> categoryIds, org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria)
protected String buildBoostFunction(String solrFieldName, BigDecimal boost, Boolean descending, Boolean ordinal, BigDecimal minScore, org.broadleafcommerce.core.search.domain.FieldEntity entityType, org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria)
protected String buildBoostQuery(String solrFieldName, String queryString, BigDecimal boost, org.broadleafcommerce.core.search.domain.FieldEntity entityType, org.broadleafcommerce.core.search.domain.SearchCriteria searchCriteria)
public org.broadleafcommerce.common.extension.ExtensionResultStatusType getPropertyNameForIndexField(org.broadleafcommerce.core.search.domain.IndexField field,
org.broadleafcommerce.core.search.domain.solr.FieldType fieldType,
String prefix,
org.broadleafcommerce.common.extension.ExtensionResultHolder<String> erh)
getPropertyNameForIndexField in interface org.broadleafcommerce.core.search.service.solr.SolrSearchServiceExtensionHandlergetPropertyNameForIndexField in class org.broadleafcommerce.core.search.service.solr.AbstractSolrSearchServiceExtensionHandlerCopyright © 2020. All rights reserved.