Class SolrConfig

  • All Implemented Interfaces:
    org.apache.solr.common.MapSerializable

    public class SolrConfig
    extends Object
    implements org.apache.solr.common.MapSerializable
    Provides a static reference to a Config object modeling the main configuration data for a Solr instance -- typically found in "solrconfig.xml".
    • Field Detail

      • booleanQueryMaxClauseCount

        public final int booleanQueryMaxClauseCount
      • filterCacheConfig

        public final CacheConfig filterCacheConfig
      • queryResultCacheConfig

        public final CacheConfig queryResultCacheConfig
      • documentCacheConfig

        public final CacheConfig documentCacheConfig
      • fieldValueCacheConfig

        public final CacheConfig fieldValueCacheConfig
      • useFilterForSortedQuery

        public final boolean useFilterForSortedQuery
      • queryResultWindowSize

        public final int queryResultWindowSize
      • queryResultMaxDocsCached

        public final int queryResultMaxDocsCached
      • enableLazyFieldLoading

        public final boolean enableLazyFieldLoading
      • maxWarmingSearchers

        public final int maxWarmingSearchers
      • useColdSearcher

        public final boolean useColdSearcher
      • luceneMatchVersion

        public final org.apache.lucene.util.Version luceneMatchVersion
      • dataDir

        protected String dataDir
      • slowQueryThresholdMillis

        public final int slowQueryThresholdMillis
    • Constructor Detail

      • SolrConfig

        public SolrConfig​(Path instanceDir,
                          String name)
                   throws IOException
        TEST-ONLY: Creates a configuration instance from an instance directory and file name
        Parameters:
        instanceDir - the directory used to create the resource loader
        name - the configuration name used by the loader if the stream is null
        Throws:
        IOException
    • Method Detail

      • parseLuceneVersionString

        public static final org.apache.lucene.util.Version parseLuceneVersionString​(String matchVersion)
      • convertHeapOptionStyleConfigStringToBytes

        protected static long convertHeapOptionStyleConfigStringToBytes​(String configStr)
        Converts a Java heap option-like config string to bytes. Valid suffixes are: 'k', 'm', 'g' (case insensitive). If there is no suffix, the default unit is bytes. For example, 50k = 50KB, 20m = 20MB, 4g = 4GB, 300 = 300 bytes
        Parameters:
        configStr - the config setting to parse
        Returns:
        the size, in bytes. -1 if the given config string is empty
      • getDataDir

        public String getDataDir()
      • getPluginInfos

        public List<PluginInfo> getPluginInfos​(String type)
        SolrConfig keeps a repository of plugins by the type. The known interfaces are the types.
        Parameters:
        type - The key is FQN of the plugin class there are a few known types : SolrFormatter, SolrFragmenter SolrRequestHandler,QParserPlugin, QueryResponseWriter,ValueSourceParser, SearchComponent, QueryConverter, SolrEventListener, DirectoryFactory, IndexDeletionPolicy, IndexReaderFactory, TransformerFactory
      • getMultipartUploadLimitKB

        public int getMultipartUploadLimitKB()
      • getFormUploadLimitKB

        public int getFormUploadLimitKB()
      • isHandleSelect

        public boolean isHandleSelect()
      • isAddHttpRequestToContext

        public boolean isAddHttpRequestToContext()
      • toMap

        public Map<String,​Object> toMap​(Map<String,​Object> result)
        Specified by:
        toMap in interface org.apache.solr.common.MapSerializable
      • getSubstituteProperties

        public Properties getSubstituteProperties()
      • maxPackageVersion

        public String maxPackageVersion​(String pkg)
        The version of package that should be loaded for a given package name This information is stored in the params.json in the same configset If params.json is absent or there is no corresponding version specified for a given package, this returns a null and the latest is used by the caller
      • refreshRequestParams

        public RequestParams refreshRequestParams()
      • getZnodeVersion

        public int getZnodeVersion()
      • getName

        public String getName()
      • getResourceName

        public String getResourceName()
      • get

        public org.apache.solr.common.ConfigNode get​(String name)
        fetches a child node by name. An "empty node" is returned if the child does not exist This never returns a null
      • get

        public org.apache.solr.common.ConfigNode get​(String name,
                                                     Predicate<org.apache.solr.common.ConfigNode> test)
      • effectiveId

        public String effectiveId()
        Generates a String ID to represent the SolrConfig

        Relies on the name of the SolrConfig, String.hashCode() to generate a "unique" id for the solr.xml data (including substitutions), and the version of the overlay. These 3 pieces of data should combine to make a "unique" identifier for SolrConfigs, since those are ultimately all inputs to modifying the solr.xml result.