You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by ry...@apache.org on 2008/10/27 19:10:45 UTC
svn commit: r708259 - in /lucene/solr/trunk: ./
src/java/org/apache/solr/request/ src/java/org/apache/solr/schema/
src/java/org/apache/solr/search/ src/java/org/apache/solr/update/
Author: ryan
Date: Mon Oct 27 11:10:45 2008
New Revision: 708259
URL: http://svn.apache.org/viewvc?rev=708259&view=rev
Log:
SOLR-813: Deprecate access to SolrConfig from IndexSchema. Rather then access
SolrConfig from the schema, plugins should get the config from the core. IndexSchema
still has access to the ResourceLoader.
Modified:
lucene/solr/trunk/CHANGES.txt
lucene/solr/trunk/src/java/org/apache/solr/request/XSLTResponseWriter.java
lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java
lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java
lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java
Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=708259&r1=708258&r2=708259&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Mon Oct 27 11:10:45 2008
@@ -73,6 +73,11 @@
11. SOLR-651: Added TermVectorComponent for serving up term vector information, plus IDF.
See http://wiki.apache.org/solr/TermVectorComponent (gsingers, Vaijanath N. Rao, Noble Paul)
+12. SOLR-813: Deprecate access to SolrConfig from IndexSchema. Rather then access
+ SolrConfig from the schema, plugins should get the config from the core. IndexSchema
+ still has access to the ResourceLoader. (ryan)
+
+
Optimizations
----------------------
1. SOLR-374: Use IndexReader.reopen to save resources by re-using parts of the
Modified: lucene/solr/trunk/src/java/org/apache/solr/request/XSLTResponseWriter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/request/XSLTResponseWriter.java?rev=708259&r1=708258&r2=708259&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/request/XSLTResponseWriter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/request/XSLTResponseWriter.java Mon Oct 27 11:10:45 2008
@@ -109,7 +109,7 @@
throw new IOException("'" + TRANSFORM_PARAM + "' request parameter is required to use the XSLTResponseWriter");
}
// not the cleanest way to achieve this
- SolrConfig solrConfig = request.getSearcher().getSchema().getSolrConfig();
+ SolrConfig solrConfig = request.getCore().getSolrConfig();
// no need to synchronize access to context, right?
// Nothing else happens with it at the same time
final Map<Object,Object> ctx = request.getContext();
Modified: lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java?rev=708259&r1=708258&r2=708259&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/schema/IndexSchema.java Mon Oct 27 11:10:45 2008
@@ -62,6 +62,7 @@
private final String resourceName;
private String name;
private float version;
+ private final SolrResourceLoader loader;
/**
* Constructs a schema using the specified file name using the normal
@@ -86,7 +87,7 @@
if (name == null)
name = DEFAULT_SCHEMA_FILE;
this.resourceName = name;
- SolrResourceLoader loader = solrConfig.getResourceLoader();
+ loader = solrConfig.getResourceLoader();
InputStream lis = is;
if (lis == null)
lis = loader.openSchema(name);
@@ -97,14 +98,23 @@
}
catch(IOException xio) {} // ignore
}
-
loader.inform( loader );
}
+ /**
+ * @deprecated -- get access to SolrConfig some other way...
+ */
public SolrConfig getSolrConfig() {
return solrConfig;
}
+ /**
+ * @since solr 1.4
+ */
+ public SolrResourceLoader getResourceLoader()
+ {
+ return loader;
+ }
/** Gets the name of the resource used to instantiate this schema. */
public String getResourceName() {
@@ -128,7 +138,7 @@
*/
@Deprecated
public InputStream getInputStream() {
- return solrConfig.getResourceLoader().openResource(resourceName);
+ return loader.openResource(resourceName);
}
/** Gets the name of the schema file.
@@ -381,7 +391,7 @@
try {
// pass the config resource loader to avoid building an empty one for no reason:
// in the current case though, the stream is valid so we wont load the resource by name
- Config schemaConf = new Config(solrConfig.getResourceLoader(), "schema", is, "/schema/");
+ Config schemaConf = new Config(loader, "schema", is, "/schema/");
Document document = schemaConf.getDocument();
final XPath xpath = schemaConf.getXPath();
@@ -396,7 +406,7 @@
version = schemaConf.getFloat("/schema/@version", 1.0f);
final IndexSchema schema = this;
- AbstractPluginLoader<FieldType> loader = new AbstractPluginLoader<FieldType>( "[schema.xml] fieldType", true, true) {
+ AbstractPluginLoader<FieldType> fieldLoader = new AbstractPluginLoader<FieldType>( "[schema.xml] fieldType", true, true) {
@Override
protected FieldType create( ResourceLoader loader, String name, String className, Node node ) throws Exception
@@ -438,7 +448,7 @@
String expression = "/schema/types/fieldtype | /schema/types/fieldType";
NodeList nodes = (NodeList) xpath.evaluate(expression, document, XPathConstants.NODESET);
- loader.load( solrConfig.getResourceLoader(), nodes );
+ fieldLoader.load( loader, nodes );
@@ -539,7 +549,7 @@
};
log.debug("using default similarity");
} else {
- final Object obj = solrConfig.getResourceLoader().newInstance(((Element) node).getAttribute("class"));
+ final Object obj = loader.newInstance(((Element) node).getAttribute("class"));
if (obj instanceof SimilarityFactory) {
// configure a factory, get a similarity back
SolrParams params = SolrParams.toSolrParams(DOMUtil.childNodesToNamedList(node));
@@ -724,7 +734,7 @@
NamedNodeMap attrs = node.getAttributes();
String analyzerName = DOMUtil.getAttr(attrs,"class");
if (analyzerName != null) {
- return (Analyzer)solrConfig.getResourceLoader().newInstance(analyzerName);
+ return (Analyzer)loader.newInstance(analyzerName);
}
XPath xpath = XPathFactory.newInstance().newXPath();
@@ -752,7 +762,7 @@
return null; // used for map registration
}
};
- tokenizerLoader.load( solrConfig.getResourceLoader(), (NodeList)xpath.evaluate("./tokenizer", node, XPathConstants.NODESET) );
+ tokenizerLoader.load( loader, (NodeList)xpath.evaluate("./tokenizer", node, XPathConstants.NODESET) );
// Make sure something was loaded
if( tokenizers.isEmpty() ) {
@@ -779,7 +789,7 @@
return null; // used for map registration
}
};
- filterLoader.load( solrConfig.getResourceLoader(), (NodeList)xpath.evaluate("./filter", node, XPathConstants.NODESET) );
+ filterLoader.load( loader, (NodeList)xpath.evaluate("./filter", node, XPathConstants.NODESET) );
return new TokenizerChain(tokenizers.get(0), filters.toArray(new TokenFilterFactory[filters.size()]));
};
Modified: lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=708259&r1=708258&r2=708259&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/search/SolrIndexSearcher.java Mon Oct 27 11:10:45 2008
@@ -123,7 +123,7 @@
this.closeReader = closeReader;
searcher.setSimilarity(schema.getSimilarity());
- SolrConfig solrConfig = schema.getSolrConfig();
+ SolrConfig solrConfig = core.getSolrConfig();
queryResultWindowSize = solrConfig.queryResultWindowSize;
queryResultMaxDocsCached = solrConfig.queryResultMaxDocsCached;
useFilterForSortedQuery = solrConfig.useFilterForSortedQuery;
Modified: lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java?rev=708259&r1=708258&r2=708259&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/update/SolrIndexWriter.java Mon Oct 27 11:10:45 2008
@@ -59,14 +59,14 @@
if (config.maxMergeDocs != -1) setMaxMergeDocs(config.maxMergeDocs);
if (config.maxFieldLength != -1) setMaxFieldLength(config.maxFieldLength);
if (config.mergePolicyClassName != null && SolrIndexConfig.DEFAULT_MERGE_POLICY_CLASSNAME.equals(config.mergePolicyClassName) == false) {
- MergePolicy policy = (MergePolicy) schema.getSolrConfig().getResourceLoader().newInstance(config.mergePolicyClassName);
+ MergePolicy policy = (MergePolicy) schema.getResourceLoader().newInstance(config.mergePolicyClassName);
setMergePolicy(policy);///hmm, is this really the best way to get a newInstance?
}
if (config.mergeFactor != -1 && getMergePolicy() instanceof LogMergePolicy) {
setMergeFactor(config.mergeFactor);
}
if (config.mergeSchedulerClassname != null && SolrIndexConfig.DEFAULT_MERGE_SCHEDULER_CLASSNAME.equals(config.mergeSchedulerClassname) == false) {
- MergeScheduler scheduler = (MergeScheduler) schema.getSolrConfig().getResourceLoader().newInstance(config.mergeSchedulerClassname);
+ MergeScheduler scheduler = (MergeScheduler) schema.getResourceLoader().newInstance(config.mergeSchedulerClassname);
setMergeScheduler(scheduler);
}