Class SolrStopwordService

  • All Implemented Interfaces:
    com.broadleafcommerce.search.core.service.StopwordService, com.broadleafcommerce.search.provider.solr.SolrProvider, org.springframework.beans.factory.InitializingBean

    public class SolrStopwordService
    extends com.broadleafcommerce.search.provider.solr.AbstractBasicAuthAwareSolrProvider
    implements com.broadleafcommerce.search.core.service.StopwordService, org.springframework.beans.factory.InitializingBean
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static Map<String,​String> EMPTY_MAP  
      protected static String STOPWORDS_PATH
      The Solr stopwords path.
      • Fields inherited from class com.broadleafcommerce.search.provider.solr.AbstractBasicAuthAwareSolrProvider

        CLUSTER_STATUS_PATH
    • Constructor Summary

      Constructors 
      Constructor Description
      SolrStopwordService​(org.apache.solr.client.solrj.SolrClient solrClient, String solrUserName, String solrPassword, com.broadleafcommerce.search.provider.solr.SolrCollectionResolver collectionResolver, com.broadleafcommerce.common.extension.TypeFactory typeFactory, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.search.core.service.LoadStopwordProperties loadStopwordProperties)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.broadleafcommerce.search.core.service.domain.Stopword addStopword​(com.broadleafcommerce.search.core.service.domain.Stopword stopword, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      List<com.broadleafcommerce.search.core.service.domain.Stopword> addStopwords​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected List<com.broadleafcommerce.search.core.service.domain.Stopword> addStopwords​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords, String alias, String language, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo, boolean reloadCollection)  
      void afterPropertiesSet()  
      protected Optional<com.broadleafcommerce.search.core.service.domain.Stopword> convertToSingleStopword​(org.apache.solr.common.util.NamedList<Object> response, com.broadleafcommerce.search.core.service.domain.Stopword stopword)  
      protected List<com.broadleafcommerce.search.core.service.domain.Stopword> convertToStopwordList​(org.apache.solr.common.util.NamedList<Object> response)  
      void deleteStopword​(com.broadleafcommerce.search.core.service.domain.Stopword stopword, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.UpdateResponse> getAddStopwordRequest​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords, String language, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected String getBackgroundAlias​(com.broadleafcommerce.search.api.type.IndexableType indexableType, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected com.broadleafcommerce.search.provider.solr.SolrCollectionResolver getCollectionResolver()  
      protected com.broadleafcommerce.search.core.service.LoadStopwordProperties getLoadStopwordProperties()  
      protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()  
      protected String getPrimaryAlias​(com.broadleafcommerce.search.api.type.IndexableType indexableType, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadSingleStopwordRequest​(com.broadleafcommerce.search.core.service.domain.Stopword stopword, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadStopwordRequest​(String language, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadStopwordRequest​(Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected String getSingleStopwordPath​(String language, String word, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected String getStopwordsPath​(String language, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()  
      protected boolean isNotFoundStopword​(Exception e)  
      void loadStopwords​(com.broadleafcommerce.search.core.service.LoadStopwordProperties loadStopwordProperties)  
      Optional<com.broadleafcommerce.search.core.service.domain.Stopword> readStopword​(com.broadleafcommerce.search.core.service.domain.Stopword stopword, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      List<com.broadleafcommerce.search.core.service.domain.Stopword> readStopwords​(com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      protected List<com.broadleafcommerce.search.core.service.domain.Stopword> readStopwords​(String alias, String language)  
      protected List<com.broadleafcommerce.search.core.service.domain.Stopword> readStopwordsFile​(com.broadleafcommerce.search.core.service.LoadStopwordProperties.LoadStopwordProperty property)  
      protected String toStopwordPayload​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords)  
      • Methods inherited from class com.broadleafcommerce.search.provider.solr.AbstractBasicAuthAwareSolrProvider

        determineCollectionsFromAliases, getSolrBasicAuthPassword, getSolrBasicAuthUser, getSolrClient, reloadCollections, reloadCollectionsFromAliases, setBasicAuthCredentialsIfNecessary
    • Constructor Detail

      • SolrStopwordService

        public SolrStopwordService​(org.apache.solr.client.solrj.SolrClient solrClient,
                                   @Nullable
                                   String solrUserName,
                                   @Nullable
                                   String solrPassword,
                                   com.broadleafcommerce.search.provider.solr.SolrCollectionResolver collectionResolver,
                                   com.broadleafcommerce.common.extension.TypeFactory typeFactory,
                                   com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                                   @Nullable
                                   com.broadleafcommerce.search.core.service.LoadStopwordProperties loadStopwordProperties)
    • Method Detail

      • readStopwords

        public List<com.broadleafcommerce.search.core.service.domain.Stopword> readStopwords​(com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                             Locale locale,
                                                                                             com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        readStopwords in interface com.broadleafcommerce.search.core.service.StopwordService
      • addStopword

        public com.broadleafcommerce.search.core.service.domain.Stopword addStopword​(com.broadleafcommerce.search.core.service.domain.Stopword stopword,
                                                                                     com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                     Locale locale,
                                                                                     com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        addStopword in interface com.broadleafcommerce.search.core.service.StopwordService
      • addStopwords

        public List<com.broadleafcommerce.search.core.service.domain.Stopword> addStopwords​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords,
                                                                                            com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                            Locale locale,
                                                                                            com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        addStopwords in interface com.broadleafcommerce.search.core.service.StopwordService
      • deleteStopword

        public void deleteStopword​(com.broadleafcommerce.search.core.service.domain.Stopword stopword,
                                   com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                   Locale locale,
                                   com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        deleteStopword in interface com.broadleafcommerce.search.core.service.StopwordService
      • readStopword

        public Optional<com.broadleafcommerce.search.core.service.domain.Stopword> readStopword​(com.broadleafcommerce.search.core.service.domain.Stopword stopword,
                                                                                                com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                                Locale locale,
                                                                                                com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        readStopword in interface com.broadleafcommerce.search.core.service.StopwordService
      • getReadStopwordRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadStopwordRequest​(Locale locale,
                                                                                                                                            com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • getReadStopwordRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadStopwordRequest​(String language,
                                                                                                                                            com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • isNotFoundStopword

        protected boolean isNotFoundStopword​(Exception e)
      • convertToSingleStopword

        protected Optional<com.broadleafcommerce.search.core.service.domain.Stopword> convertToSingleStopword​(org.apache.solr.common.util.NamedList<Object> response,
                                                                                                              com.broadleafcommerce.search.core.service.domain.Stopword stopword)
      • addStopwords

        protected List<com.broadleafcommerce.search.core.service.domain.Stopword> addStopwords​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords,
                                                                                               String alias,
                                                                                               String language,
                                                                                               com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo,
                                                                                               boolean reloadCollection)
      • readStopwords

        protected List<com.broadleafcommerce.search.core.service.domain.Stopword> readStopwords​(String alias,
                                                                                                String language)
      • loadStopwords

        public void loadStopwords​(@Nullable
                                  com.broadleafcommerce.search.core.service.LoadStopwordProperties loadStopwordProperties)
        Specified by:
        loadStopwords in interface com.broadleafcommerce.search.core.service.StopwordService
      • readStopwordsFile

        protected List<com.broadleafcommerce.search.core.service.domain.Stopword> readStopwordsFile​(com.broadleafcommerce.search.core.service.LoadStopwordProperties.LoadStopwordProperty property)
      • getReadSingleStopwordRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadSingleStopwordRequest​(com.broadleafcommerce.search.core.service.domain.Stopword stopword,
                                                                                                                                                  Locale locale,
                                                                                                                                                  com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • getAddStopwordRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.UpdateResponse> getAddStopwordRequest​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords,
                                                                                                                                       String language,
                                                                                                                                       com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • toStopwordPayload

        protected String toStopwordPayload​(List<com.broadleafcommerce.search.core.service.domain.Stopword> stopwords)
      • convertToStopwordList

        protected List<com.broadleafcommerce.search.core.service.domain.Stopword> convertToStopwordList​(org.apache.solr.common.util.NamedList<Object> response)
      • getPrimaryAlias

        protected String getPrimaryAlias​(com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                         com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • getBackgroundAlias

        protected String getBackgroundAlias​(com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                            com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • getStopwordsPath

        protected String getStopwordsPath​(String language,
                                          com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • getSingleStopwordPath

        protected String getSingleStopwordPath​(String language,
                                               String word,
                                               com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
      • afterPropertiesSet

        public void afterPropertiesSet()
                                throws Exception
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
        Throws:
        Exception
      • getObjectMapper

        protected com.fasterxml.jackson.databind.ObjectMapper getObjectMapper()
      • getCollectionResolver

        protected com.broadleafcommerce.search.provider.solr.SolrCollectionResolver getCollectionResolver()
      • getTypeFactory

        protected com.broadleafcommerce.common.extension.TypeFactory getTypeFactory()
      • getLoadStopwordProperties

        protected com.broadleafcommerce.search.core.service.LoadStopwordProperties getLoadStopwordProperties()