Class Collection


  • public class Collection
    extends java.lang.Object

    A search collection.

    A collection contains several configuration information.

    Since:
    11.0
    • Field Detail

      • log

        private static final org.apache.logging.log4j.Logger log
      • COLLECTION_ID_PATTERN

        public static final java.lang.String COLLECTION_ID_PATTERN
        See Also:
        Constant Field Values
      • id

        @Pattern(regexp="[\\w-]+")
        private @Pattern(regexp="[\\w-]+") java.lang.String id

        Collection id (technical name).

        Identical to the name of the collection folder under $SEARCH_HOME/conf/ or $SEARCH_HOME/data/

      • configuration

        private com.funnelback.common.config.Config configuration

        Collection configuration data.

        Contains collection.cfg values. Can be accessed using configuration.value(KEY) such as configuration.value("query_processor_options").

        Note: This is not included in the JSON / XML output for security reasons

      • quickLinksConfiguration

        @Deprecated
        private java.util.Map<java.lang.String,​java.lang.String> quickLinksConfiguration
        Deprecated.
        Quick Links configuration (quicklinks.cfg) To maintain backwards compatibility with Freemarker templates, we preserve 'getQuickLinksConfiguration()' as it was previously used in the default template for quick link value lookups. FTL templates after 15.24 are expected to utilise values from collection config.
      • profiles

        @NonNull
        private final java.util.Map<java.lang.String,​Profile> profiles

        Search profiles. The key is the profile ID.

        Each collection can have multiple search profiles. 2 profiles are provided with each new collections: _default and _default_preview, used in the preview / publish system.

      • facetedNavigationConfConfig

        private FacetedNavigationConfig facetedNavigationConfConfig
        Faceted navigation configuration in conf/[collection]/faceted_navigation.cfg
      • facetedNavigationLiveConfig

        private FacetedNavigationConfig facetedNavigationLiveConfig
        Faceted navigation configuration in data/[collection]/live/idx/faceted_navigation.cfg
      • metaComponents

        private java.lang.String[] metaComponents

        On meta collections, list of sub collections IDs.

        Read from conf/[collection]/meta.cfg.

      • parametersTransforms

        private java.util.List<TransformRule> parametersTransforms

        Internal use: List of query string parameters transformations, previously known as CGI Transforms in the Classic UI.

        Read from conf/[collection]/cgi_transform.cfg.

      • hookScriptsClasses

        @NonNull
        private final java.util.Map<Collection.Hook,​java.lang.Class<groovy.lang.Script>> hookScriptsClasses

        Internal use: List of Groovy hook scripts for this collection.

        The key is the name of the script (Collection.Hook, the value is the implementation class (compiled Groovy script).

      • cartProcessClass

        private java.lang.Class<?> cartProcessClass

        Internal use: Groovy class to use to process the results cart

        Since:
        13.0
    • Constructor Detail

      • Collection

        public Collection​(java.lang.String id,
                          com.funnelback.common.config.Config config)
      • Collection

        public Collection()
      • Collection

        public Collection​(java.lang.String id,
                          com.funnelback.common.config.Config configuration,
                          java.util.Map<java.lang.String,​java.lang.String> quickLinksConfiguration,
                          @NonNull
                          java.util.Map<java.lang.String,​Profile> profiles,
                          FacetedNavigationConfig facetedNavigationConfConfig,
                          FacetedNavigationConfig facetedNavigationLiveConfig,
                          java.lang.String[] metaComponents,
                          java.util.List<TransformRule> parametersTransforms,
                          @NonNull
                          java.util.Map<Collection.Hook,​java.lang.Class<groovy.lang.Script>> hookScriptsClasses,
                          java.lang.Class<?> cartProcessClass)
    • Method Detail

      • getType

        public com.funnelback.common.config.Collection.Type getType()
        Get the collection type.
        Returns:
        The collection type, or unknown.
      • cloneBuilder

        public Collection.CollectionBuilder cloneBuilder()
        A Collection builder with the currently set fields already set on the builder.
        Returns:
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • canEqual

        protected boolean canEqual​(java.lang.Object other)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getId

        public java.lang.String getId()

        Collection id (technical name).

        Identical to the name of the collection folder under $SEARCH_HOME/conf/ or $SEARCH_HOME/data/

      • getConfiguration

        public com.funnelback.common.config.Config getConfiguration()

        Collection configuration data.

        Contains collection.cfg values. Can be accessed using configuration.value(KEY) such as configuration.value("query_processor_options").

        Note: This is not included in the JSON / XML output for security reasons

      • getQuickLinksConfiguration

        @Deprecated
        public java.util.Map<java.lang.String,​java.lang.String> getQuickLinksConfiguration()
        Deprecated.
        Quick Links configuration (quicklinks.cfg) To maintain backwards compatibility with Freemarker templates, we preserve 'getQuickLinksConfiguration()' as it was previously used in the default template for quick link value lookups. FTL templates after 15.24 are expected to utilise values from collection config.
      • setQuickLinksConfiguration

        @Deprecated
        public void setQuickLinksConfiguration​(java.util.Map<java.lang.String,​java.lang.String> quickLinksConfiguration)
        Deprecated.
        Quick Links configuration (quicklinks.cfg) To maintain backwards compatibility with Freemarker templates, we preserve 'getQuickLinksConfiguration()' as it was previously used in the default template for quick link value lookups. FTL templates after 15.24 are expected to utilise values from collection config.
      • getProfiles

        @NonNull
        public java.util.Map<java.lang.String,​Profile> getProfiles()

        Search profiles. The key is the profile ID.

        Each collection can have multiple search profiles. 2 profiles are provided with each new collections: _default and _default_preview, used in the preview / publish system.

      • getFacetedNavigationConfConfig

        public FacetedNavigationConfig getFacetedNavigationConfConfig()
        Faceted navigation configuration in conf/[collection]/faceted_navigation.cfg
      • setFacetedNavigationConfConfig

        public void setFacetedNavigationConfConfig​(FacetedNavigationConfig facetedNavigationConfConfig)
        Faceted navigation configuration in conf/[collection]/faceted_navigation.cfg
      • getFacetedNavigationLiveConfig

        public FacetedNavigationConfig getFacetedNavigationLiveConfig()
        Faceted navigation configuration in data/[collection]/live/idx/faceted_navigation.cfg
      • setFacetedNavigationLiveConfig

        public void setFacetedNavigationLiveConfig​(FacetedNavigationConfig facetedNavigationLiveConfig)
        Faceted navigation configuration in data/[collection]/live/idx/faceted_navigation.cfg
      • getMetaComponents

        public java.lang.String[] getMetaComponents()

        On meta collections, list of sub collections IDs.

        Read from conf/[collection]/meta.cfg.

      • setMetaComponents

        public void setMetaComponents​(java.lang.String[] metaComponents)

        On meta collections, list of sub collections IDs.

        Read from conf/[collection]/meta.cfg.

      • getParametersTransforms

        public java.util.List<TransformRule> getParametersTransforms()

        Internal use: List of query string parameters transformations, previously known as CGI Transforms in the Classic UI.

        Read from conf/[collection]/cgi_transform.cfg.

      • setParametersTransforms

        public void setParametersTransforms​(java.util.List<TransformRule> parametersTransforms)

        Internal use: List of query string parameters transformations, previously known as CGI Transforms in the Classic UI.

        Read from conf/[collection]/cgi_transform.cfg.

      • getHookScriptsClasses

        @NonNull
        public java.util.Map<Collection.Hook,​java.lang.Class<groovy.lang.Script>> getHookScriptsClasses()

        Internal use: List of Groovy hook scripts for this collection.

        The key is the name of the script (Collection.Hook, the value is the implementation class (compiled Groovy script).

      • getCartProcessClass

        public java.lang.Class<?> getCartProcessClass()

        Internal use: Groovy class to use to process the results cart

        Since:
        13.0
      • setCartProcessClass

        public void setCartProcessClass​(java.lang.Class<?> cartProcessClass)

        Internal use: Groovy class to use to process the results cart

        Since:
        13.0