Class AbstractOmniSearchHandler

java.lang.Object
com.adobe.granite.omnisearch.commons.AbstractOmniSearchHandler
All Implemented Interfaces:
OmniSearchHandler, EventListener

public abstract class AbstractOmniSearchHandler extends Object implements OmniSearchHandler, EventListener
AbstractOmniSearchHandler is an abstract class which other can extend to provide implemenation of OmniSearchHandler If any Module implements OmniSearchHandler using AbstractOmniSearchHandler , It needs to create contentNode under path METADATA_PATH. And provide all the property details in that Node.

Properties:

IS_SUGGESTABLE_PROPERTY
Property that decide if Predicate should be used in predicate suggestions
METADAT_PATH
PATH where metadata of all the modules will be stored
NODE_TYPE_PROPERTY
Resource type of Module (eg. dam:Asset)
OPTION_PATH_PROPERTY
optionPath property of a Predicate
PREDICATE_PATH_PROPERTY
property that stores Predicate Path in METADATA Node
DEFAULT_SEARCH_PATH_PROPERTY
property that stores Default Search Path in METADATA Node
PREDICATE_TYPE_PROPERTY
property that identifies type of Predicate
  • Field Details

  • Constructor Details

    • AbstractOmniSearchHandler

      public AbstractOmniSearchHandler()
  • Method Details

    • getSuggestionQuery

      public Query getSuggestionQuery(ResourceResolver resolver, String searchTerm)
      This function returns Query that provides suggestions based on parameters provide in the request. It will look for "fulltext" paramter in request and "fulltext" parameter will treated as search term. Based on this search term suggestion query will be created.
      Specified by:
      getSuggestionQuery in interface OmniSearchHandler
      Parameters:
      resolver - ResourceResolver instance
      searchTerm - text term for which suggestions are require
      Returns:
      Query that returns suggestions on execution
    • getPredicateSuggestions

      public List<PredicateSuggestion> getPredicateSuggestions(ResourceResolver resolver, I18n i18n, String searchTerm)
      This function provide List of Predicates that matched to current request parameters. It will match the value of PredicateSuggestion to the search term. Currently predicate suggestion works only if length of search term is more than MIN_SUGGESTION_REQUIRE_SIZE
      Specified by:
      getPredicateSuggestions in interface OmniSearchHandler
      Parameters:
      resolver - ResourceResolver instance
      i18n - I18n instance
      searchTerm - text term for which suggestions are require @return List of PredicateSuggestion
      Returns:
      List of Predicates
    • getSpellCheckQuery

      public Query getSpellCheckQuery(ResourceResolver resolver, String searchTerm)
      This function returns Query that provides spell check suggestions based on parameters provide in the request. It will look for "fulltext" paramter in request and "fulltext" parameter will treated as search term. Based on this search term spell check query will be created.
      Specified by:
      getSpellCheckQuery in interface OmniSearchHandler
      Parameters:
      resolver - ResourceResolver instance
      searchTerm - text term for which suggestions are require
      Returns:
      Query that returns spell check suggestion on execution.
    • getLocationSuggestion

      public PredicateSuggestion getLocationSuggestion(ResourceResolver resolver, I18n i18n, String searchTerm)
    • getModuleConfig

      public Resource getModuleConfig(ResourceResolver resolver)
      Return the moduleConfiguration resource for this handler.
      Specified by:
      getModuleConfig in interface OmniSearchHandler
      Parameters:
      resolver - the resourceResolver to use
      Returns:
      the resource where the configuration is stored.
    • init

      public void init(ResourceResolver resolver)
      Deprecated.
      Use initialize instead.
      This function intialize the ResourceResolver instace. It usually called on activation of OmniSearchHandler or on event from implementation of OmniSearchHandler
      Parameters:
      resolver - ResourceResolver instance, AbstractOmniSearchHandler expects that this ResourceResolver will not be closed before deactivation.
    • initialize

      public void initialize(ResourceResolver resolver)
      initialize the AbstractOmniSearchHandler.
      Parameters:
      resolver - a ResourceResolver to read the relevant information from the repository. After calling this method the resolver can be closed, it's not expected to keep it open.
    • destroy

      public void destroy(ResourceResolver resolver)
      Deprecated.
      Removed without replacement (it always was an empty method)
      This function clear the predicateSuggestionList and remove all the eventListeners. This is usually called on deactivation of OmniSearchHandler
      Parameters:
      resolver - ResourceResolver instance