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 String
DEFAULT_MANAGED_SCHEMA_RESOURCE_NAME
static String
MANAGED_SCHEMA_RESOURCE_NAME
-
Constructor Summary
Constructors Constructor Description ManagedIndexSchemaFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ManagedIndexSchema
create(String resourceName, SolrConfig config)
First, try to locate the managed schema file named in the managedSchemaResourceName param.SolrConfig
getConfig()
String
getManagedSchemaResourceName()
SolrResourceLoader
getResourceLoader()
ManagedIndexSchema
getSchema()
Object
getSchemaUpdateLock()
void
inform(SolrCore core)
void
init(NamedList args)
boolean
isMutable()
void
setSchema(ManagedIndexSchema schema)
-
Methods inherited from class org.apache.solr.schema.IndexSchemaFactory
buildIndexSchema, getResourceNameToBeUsed
-
-
-
-
Field Detail
-
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:
init
in interfaceNamedListInitializedPlugin
-
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:
create
in classIndexSchemaFactory
-
getSchemaUpdateLock
public Object getSchemaUpdateLock()
-
inform
public void inform(SolrCore core)
- Specified by:
inform
in interfaceSolrCoreAware
-
getSchema
public ManagedIndexSchema getSchema()
-
setSchema
public void setSchema(ManagedIndexSchema schema)
-
isMutable
public boolean isMutable()
-
getConfig
public SolrConfig getConfig()
-
-