diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index c562a856f3b..8d0142e0bc0 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -477,6 +477,9 @@ Other Changes * SOLR-11016: Fix TestCloudJSONFacetJoinDomain test-only bug (hossman) +* SOLR-11021: The elevate.xml config-file is made optional in the ElevationComponent. + The default configset doesn't ship with a elevate.xml file anymore (Varun Thacker) + ================== 6.7.0 ================== Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release. diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java index 3f3dd5c99b8..6511c673d1b 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java +++ b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java @@ -204,53 +204,51 @@ public class QueryElevationComponent extends SearchComponent implements SolrCore } core.addTransformerFactory(markerName, elevatedMarkerFactory); forceElevation = initArgs.getBool(QueryElevationParams.FORCE_ELEVATION, forceElevation); - try { - synchronized (elevationCache) { - elevationCache.clear(); - String f = initArgs.get(CONFIG_FILE); - if (f == null) { - throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, - "QueryElevationComponent must specify argument: '" + CONFIG_FILE - + "' -- path to elevate.xml"); - } - boolean exists = false; - // check if using ZooKeeper - ZkController zkController = core.getCoreContainer().getZkController(); - if (zkController != null) { - // TODO : shouldn't have to keep reading the config name when it has been read before - exists = zkController.configFileExists(zkController.getZkStateReader().readConfigName(core.getCoreDescriptor().getCloudDescriptor().getCollectionName()), f); - } else { - File fC = new File(core.getResourceLoader().getConfigDir(), f); - File fD = new File(core.getDataDir(), f); - if (fC.exists() == fD.exists()) { - throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, - "QueryElevationComponent missing config file: '" + f + "\n" - + "either: " + fC.getAbsolutePath() + " or " + fD.getAbsolutePath() + " must exist, but not both."); + String f = initArgs.get(CONFIG_FILE); + if (f != null) { + try { + synchronized (elevationCache) { + elevationCache.clear(); + boolean exists = false; + + // check if using ZooKeeper + ZkController zkController = core.getCoreContainer().getZkController(); + if (zkController != null) { + // TODO : shouldn't have to keep reading the config name when it has been read before + exists = zkController.configFileExists(zkController.getZkStateReader().readConfigName(core.getCoreDescriptor().getCloudDescriptor().getCollectionName()), f); + } else { + File fC = new File(core.getResourceLoader().getConfigDir(), f); + File fD = new File(core.getDataDir(), f); + if (fC.exists() == fD.exists()) { + throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, + "QueryElevationComponent missing config file: '" + f + "\n" + + "either: " + fC.getAbsolutePath() + " or " + fD.getAbsolutePath() + " must exist, but not both."); + } + if (fC.exists()) { + exists = true; + log.info("Loading QueryElevation from: " + fC.getAbsolutePath()); + Config cfg = new Config(core.getResourceLoader(), f); + elevationCache.put(null, loadElevationMap(cfg)); + } } - if (fC.exists()) { - exists = true; - log.info("Loading QueryElevation from: " + fC.getAbsolutePath()); - Config cfg = new Config(core.getResourceLoader(), f); - elevationCache.put(null, loadElevationMap(cfg)); - } - } - //in other words, we think this is in the data dir, not the conf dir - if (!exists) { - // preload the first data - RefCounted searchHolder = null; - try { - searchHolder = core.getNewestSearcher(false); - IndexReader reader = searchHolder.get().getIndexReader(); - getElevationMap(reader, core); - } finally { - if (searchHolder != null) searchHolder.decref(); + //in other words, we think this is in the data dir, not the conf dir + if (!exists) { + // preload the first data + RefCounted searchHolder = null; + try { + searchHolder = core.getNewestSearcher(false); + IndexReader reader = searchHolder.get().getIndexReader(); + getElevationMap(reader, core); + } finally { + if (searchHolder != null) searchHolder.decref(); + } } } + } catch (Exception ex) { + throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, + "Error initializing QueryElevationComponent.", ex); } - } catch (Exception ex) { - throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, - "Error initializing QueryElevationComponent.", ex); } } diff --git a/solr/core/src/test-files/solr/configsets/_default/conf/elevate.xml b/solr/core/src/test-files/solr/configsets/_default/conf/elevate.xml deleted file mode 100644 index 2c09ebed669..00000000000 --- a/solr/core/src/test-files/solr/configsets/_default/conf/elevate.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - diff --git a/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml b/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml index f53636f474e..aa1ae698bd8 100644 --- a/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml +++ b/solr/core/src/test-files/solr/configsets/_default/conf/solrconfig.xml @@ -1004,7 +1004,6 @@ string - elevate.xml diff --git a/solr/server/solr/configsets/_default/conf/elevate.xml b/solr/server/solr/configsets/_default/conf/elevate.xml deleted file mode 100644 index 2c09ebed669..00000000000 --- a/solr/server/solr/configsets/_default/conf/elevate.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - diff --git a/solr/server/solr/configsets/_default/conf/solrconfig.xml b/solr/server/solr/configsets/_default/conf/solrconfig.xml index f53636f474e..aa1ae698bd8 100644 --- a/solr/server/solr/configsets/_default/conf/solrconfig.xml +++ b/solr/server/solr/configsets/_default/conf/solrconfig.xml @@ -1004,7 +1004,6 @@ string - elevate.xml