Class SolrSynonymService

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

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

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

        CLUSTER_STATUS_PATH
    • Constructor Summary

      Constructors 
      Constructor Description
      SolrSynonymService​(org.apache.solr.client.solrj.SolrClient solrClient, String solrUserName, String solrPassword, com.broadleafcommerce.search.provider.solr.SolrCollectionResolver collectionResolver, com.fasterxml.jackson.databind.ObjectMapper objectMapper, com.broadleafcommerce.search.core.service.LoadSynonymProperties loadSynonymProperties)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterPropertiesSet()  
      protected Optional<com.broadleafcommerce.search.core.service.domain.Synonym> convertToSingleSynonym​(org.apache.solr.common.util.NamedList<Object> request, String word)  
      protected List<com.broadleafcommerce.search.core.service.domain.Synonym> convertToSynonymList​(org.apache.solr.common.util.NamedList<Object> response)  
      void deleteSynonym​(com.broadleafcommerce.search.core.service.domain.Synonym synonym, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      void deleteSynonym​(com.broadleafcommerce.search.core.service.domain.Synonym synonym, String alias, String language)  
      protected Optional<com.broadleafcommerce.search.core.service.domain.Synonym> findSynonymDiff​(com.broadleafcommerce.search.core.service.domain.Synonym synonym, String collection, String language)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.UpdateResponse> getAddSynonymRequest​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms, String language)  
      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 String getDeletePath​(String language, com.broadleafcommerce.search.core.service.domain.Synonym synonym)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getDeleteSynonymRequest​(com.broadleafcommerce.search.core.service.domain.Synonym synonym, String language)  
      protected com.broadleafcommerce.search.core.service.LoadSynonymProperties getLoadSynonymProperties()  
      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> getReadSingleSynonymRequest​(String word, String language)  
      protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadSynonymRequest​(String language)  
      protected String getSynonymPath​(String language)  
      void loadSynonyms​(com.broadleafcommerce.search.core.service.LoadSynonymProperties loadSynonymProperties)  
      Optional<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonym​(String word, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      Optional<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonym​(String word, String alias, String language)  
      List<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonyms​(com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      List<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonyms​(String alias, String language)  
      protected List<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonymsFile​(com.broadleafcommerce.search.core.service.LoadSynonymProperties.LoadSynonymProperty property)  
      protected String toSynonymPayload​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms)  
      com.broadleafcommerce.search.core.service.domain.Synonym updateSynonym​(com.broadleafcommerce.search.core.service.domain.Synonym synonym, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      List<com.broadleafcommerce.search.core.service.domain.Synonym> updateSynonyms​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms, com.broadleafcommerce.search.api.type.IndexableType indexableType, Locale locale, com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)  
      List<com.broadleafcommerce.search.core.service.domain.Synonym> updateSynonyms​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms, String alias, String language, boolean reloadCollection)  
      • Methods inherited from class com.broadleafcommerce.search.provider.solr.AbstractBasicAuthAwareSolrProvider

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

      • SolrSynonymService

        public SolrSynonymService​(org.apache.solr.client.solrj.SolrClient solrClient,
                                  @Nullable
                                  String solrUserName,
                                  @Nullable
                                  String solrPassword,
                                  com.broadleafcommerce.search.provider.solr.SolrCollectionResolver collectionResolver,
                                  com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                                  @Nullable
                                  com.broadleafcommerce.search.core.service.LoadSynonymProperties loadSynonymProperties)
    • Method Detail

      • readSynonyms

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

        public Optional<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonym​(String word,
                                                                                              com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                              Locale locale,
                                                                                              com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        readSynonym in interface com.broadleafcommerce.search.core.service.SynonymService
      • readSynonym

        public Optional<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonym​(String word,
                                                                                              String alias,
                                                                                              String language)
      • readSynonyms

        public List<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonyms​(String alias,
                                                                                           String language)
      • updateSynonym

        public com.broadleafcommerce.search.core.service.domain.Synonym updateSynonym​(com.broadleafcommerce.search.core.service.domain.Synonym synonym,
                                                                                      com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                      Locale locale,
                                                                                      com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        updateSynonym in interface com.broadleafcommerce.search.core.service.SynonymService
      • updateSynonyms

        public List<com.broadleafcommerce.search.core.service.domain.Synonym> updateSynonyms​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms,
                                                                                             com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                                                                             Locale locale,
                                                                                             com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        updateSynonyms in interface com.broadleafcommerce.search.core.service.SynonymService
      • updateSynonyms

        public List<com.broadleafcommerce.search.core.service.domain.Synonym> updateSynonyms​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms,
                                                                                             String alias,
                                                                                             String language,
                                                                                             boolean reloadCollection)
      • deleteSynonym

        public void deleteSynonym​(com.broadleafcommerce.search.core.service.domain.Synonym synonym,
                                  com.broadleafcommerce.search.api.type.IndexableType indexableType,
                                  Locale locale,
                                  com.broadleafcommerce.data.tracking.core.context.ContextInfo contextInfo)
        Specified by:
        deleteSynonym in interface com.broadleafcommerce.search.core.service.SynonymService
      • deleteSynonym

        public void deleteSynonym​(com.broadleafcommerce.search.core.service.domain.Synonym synonym,
                                  String alias,
                                  String language)
      • loadSynonyms

        public void loadSynonyms​(@Nullable
                                 com.broadleafcommerce.search.core.service.LoadSynonymProperties loadSynonymProperties)
        Specified by:
        loadSynonyms in interface com.broadleafcommerce.search.core.service.SynonymService
      • convertToSingleSynonym

        protected Optional<com.broadleafcommerce.search.core.service.domain.Synonym> convertToSingleSynonym​(org.apache.solr.common.util.NamedList<Object> request,
                                                                                                            String word)
      • findSynonymDiff

        protected Optional<com.broadleafcommerce.search.core.service.domain.Synonym> findSynonymDiff​(com.broadleafcommerce.search.core.service.domain.Synonym synonym,
                                                                                                     String collection,
                                                                                                     String language)
      • readSynonymsFile

        protected List<com.broadleafcommerce.search.core.service.domain.Synonym> readSynonymsFile​(com.broadleafcommerce.search.core.service.LoadSynonymProperties.LoadSynonymProperty property)
      • getReadSynonymRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadSynonymRequest​(String language)
      • getDeleteSynonymRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getDeleteSynonymRequest​(com.broadleafcommerce.search.core.service.domain.Synonym synonym,
                                                                                                                                             String language)
      • getAddSynonymRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.UpdateResponse> getAddSynonymRequest​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms,
                                                                                                                                      String language)
      • toSynonymPayload

        protected String toSynonymPayload​(Collection<com.broadleafcommerce.search.core.service.domain.Synonym> synonyms)
      • getSynonymPath

        protected String getSynonymPath​(String language)
      • getDeletePath

        protected String getDeletePath​(String language,
                                       com.broadleafcommerce.search.core.service.domain.Synonym synonym)
      • getReadSingleSynonymRequest

        protected org.apache.solr.client.solrj.SolrRequest<org.apache.solr.client.solrj.response.SimpleSolrResponse> getReadSingleSynonymRequest​(String word,
                                                                                                                                                 String language)
      • convertToSynonymList

        protected List<com.broadleafcommerce.search.core.service.domain.Synonym> convertToSynonymList​(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)
      • afterPropertiesSet

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

        protected com.broadleafcommerce.search.core.service.LoadSynonymProperties getLoadSynonymProperties()
      • getObjectMapper

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

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