mirror of https://github.com/apache/lucene.git
SOLR-11021: The elevate.xml config-file is now optional in the ElevationComponent. The default configset doesn't ship with an elevate.xml file anymore
This commit is contained in:
parent
14ec46c7f8
commit
df3a9b3531
|
@ -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.
|
||||
|
|
|
@ -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<SolrIndexSearcher> 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<SolrIndexSearcher> 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!-- If this file is found in the config directory, it will only be
|
||||
loaded once at startup. If it is found in Solr's data
|
||||
directory, it will be re-loaded every commit.
|
||||
|
||||
See http://wiki.apache.org/solr/QueryElevationComponent for more info
|
||||
|
||||
-->
|
||||
<elevate>
|
||||
<!-- Query elevation examples
|
||||
<query text="foo bar">
|
||||
<doc id="1" />
|
||||
<doc id="2" />
|
||||
<doc id="3" />
|
||||
</query>
|
||||
|
||||
for use with techproducts example
|
||||
|
||||
<query text="ipod">
|
||||
<doc id="MA147LL/A" /> put the actual ipod at the top
|
||||
<doc id="IW-02" exclude="true" /> exclude this cable
|
||||
</query>
|
||||
-->
|
||||
|
||||
</elevate>
|
|
@ -1004,7 +1004,6 @@
|
|||
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
|
||||
<!-- pick a fieldType to analyze queries -->
|
||||
<str name="queryFieldType">string</str>
|
||||
<str name="config-file">elevate.xml</str>
|
||||
</searchComponent>
|
||||
|
||||
<!-- A request handler for demonstrating the elevator component -->
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!--
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
contributor license agreements. See the NOTICE file distributed with
|
||||
this work for additional information regarding copyright ownership.
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
(the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<!-- If this file is found in the config directory, it will only be
|
||||
loaded once at startup. If it is found in Solr's data
|
||||
directory, it will be re-loaded every commit.
|
||||
|
||||
See http://wiki.apache.org/solr/QueryElevationComponent for more info
|
||||
|
||||
-->
|
||||
<elevate>
|
||||
<!-- Query elevation examples
|
||||
<query text="foo bar">
|
||||
<doc id="1" />
|
||||
<doc id="2" />
|
||||
<doc id="3" />
|
||||
</query>
|
||||
|
||||
for use with techproducts example
|
||||
|
||||
<query text="ipod">
|
||||
<doc id="MA147LL/A" /> put the actual ipod at the top
|
||||
<doc id="IW-02" exclude="true" /> exclude this cable
|
||||
</query>
|
||||
-->
|
||||
|
||||
</elevate>
|
|
@ -1004,7 +1004,6 @@
|
|||
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
|
||||
<!-- pick a fieldType to analyze queries -->
|
||||
<str name="queryFieldType">string</str>
|
||||
<str name="config-file">elevate.xml</str>
|
||||
</searchComponent>
|
||||
|
||||
<!-- A request handler for demonstrating the elevator component -->
|
||||
|
|
Loading…
Reference in New Issue