Package org.apache.solr.schema
Class ManagedIndexSchemaFactory
- java.lang.Object
-
- org.apache.solr.schema.IndexSchemaFactory
-
- org.apache.solr.schema.ManagedIndexSchemaFactory
-
- All Implemented Interfaces:
NamedListInitializedPlugin,SolrCoreAware
public class ManagedIndexSchemaFactory extends IndexSchemaFactory implements SolrCoreAware
Factory for ManagedIndexSchema
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_MANAGED_SCHEMA_RESOURCE_NAMEstatic StringMANAGED_SCHEMA_RESOURCE_NAMEstatic StringUPGRADED_SCHEMA_EXTENSION
-
Constructor Summary
Constructors Constructor Description ManagedIndexSchemaFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ManagedIndexSchemacreate(String resourceName, SolrConfig config)First, try to locate the managed schema file named in the managedSchemaResourceName param.SolrConfiggetConfig()StringgetManagedSchemaResourceName()SolrResourceLoadergetResourceLoader()ManagedIndexSchemagetSchema()StringgetSchemaResourceName(String cdResourceName)Returns the resource (file) name that will be used for the schema itself.ObjectgetSchemaUpdateLock()voidinform(SolrCore core)voidinit(NamedList args)booleanisMutable()voidsetSchema(ManagedIndexSchema schema)-
Methods inherited from class org.apache.solr.schema.IndexSchemaFactory
buildIndexSchema, newIndexSchemaFactory
-
-
-
-
Field Detail
-
UPGRADED_SCHEMA_EXTENSION
public static final String UPGRADED_SCHEMA_EXTENSION
- See Also:
- Constant Field Values
-
DEFAULT_MANAGED_SCHEMA_RESOURCE_NAME
public static final String DEFAULT_MANAGED_SCHEMA_RESOURCE_NAME
- See Also:
- Constant Field Values
-
MANAGED_SCHEMA_RESOURCE_NAME
public static final String MANAGED_SCHEMA_RESOURCE_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
getManagedSchemaResourceName
public String getManagedSchemaResourceName()
-
getResourceLoader
public SolrResourceLoader getResourceLoader()
-
init
public void init(NamedList args)
- Specified by:
initin interfaceNamedListInitializedPlugin
-
getSchemaResourceName
public String getSchemaResourceName(String cdResourceName)
Description copied from class:IndexSchemaFactoryReturns the resource (file) name that will be used for the schema itself. The answer may be a guess. Do not pass the result of this toIndexSchemaFactory.create(String, SolrConfig). The input is the name coming from theCoreDescriptorwhich acts as a default or asked-for name.- Overrides:
getSchemaResourceNamein classIndexSchemaFactory
-
create
public ManagedIndexSchema create(String resourceName, SolrConfig config)
First, try to locate the managed schema file named in the managedSchemaResourceName param. If the managed schema file exists and is accessible, it is used to instantiate an IndexSchema. If the managed schema file can't be found, the resource named by the resourceName parameter is used to instantiate an IndexSchema. Once the IndexSchema is instantiated, if the managed schema file does not exist, the instantiated IndexSchema is persisted to the managed schema file named in the managedSchemaResourceName param, in the directory given bySolrResourceLoader.getConfigDir(), or if configs are in ZooKeeper, underZkSolrResourceLoader.getConfigSetZkPath(). After the managed schema file is persisted, the original schema file is renamed by appending the extension named inUPGRADED_SCHEMA_EXTENSION.- Overrides:
createin classIndexSchemaFactory
-
getSchemaUpdateLock
public Object getSchemaUpdateLock()
-
inform
public void inform(SolrCore core)
- Specified by:
informin interfaceSolrCoreAware
-
getSchema
public ManagedIndexSchema getSchema()
-
setSchema
public void setSchema(ManagedIndexSchema schema)
-
isMutable
public boolean isMutable()
-
getConfig
public SolrConfig getConfig()
-
-