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-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 ==================
|
================== 6.7.0 ==================
|
||||||
|
|
||||||
Consult the LUCENE_CHANGES.txt file for additional, low level, changes in this release.
|
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);
|
core.addTransformerFactory(markerName, elevatedMarkerFactory);
|
||||||
forceElevation = initArgs.getBool(QueryElevationParams.FORCE_ELEVATION, forceElevation);
|
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
|
String f = initArgs.get(CONFIG_FILE);
|
||||||
ZkController zkController = core.getCoreContainer().getZkController();
|
if (f != null) {
|
||||||
if (zkController != null) {
|
try {
|
||||||
// TODO : shouldn't have to keep reading the config name when it has been read before
|
synchronized (elevationCache) {
|
||||||
exists = zkController.configFileExists(zkController.getZkStateReader().readConfigName(core.getCoreDescriptor().getCloudDescriptor().getCollectionName()), f);
|
elevationCache.clear();
|
||||||
} else {
|
boolean exists = false;
|
||||||
File fC = new File(core.getResourceLoader().getConfigDir(), f);
|
|
||||||
File fD = new File(core.getDataDir(), f);
|
// check if using ZooKeeper
|
||||||
if (fC.exists() == fD.exists()) {
|
ZkController zkController = core.getCoreContainer().getZkController();
|
||||||
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
|
if (zkController != null) {
|
||||||
"QueryElevationComponent missing config file: '" + f + "\n"
|
// TODO : shouldn't have to keep reading the config name when it has been read before
|
||||||
+ "either: " + fC.getAbsolutePath() + " or " + fD.getAbsolutePath() + " must exist, but not both.");
|
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()) {
|
//in other words, we think this is in the data dir, not the conf dir
|
||||||
exists = true;
|
if (!exists) {
|
||||||
log.info("Loading QueryElevation from: " + fC.getAbsolutePath());
|
// preload the first data
|
||||||
Config cfg = new Config(core.getResourceLoader(), f);
|
RefCounted<SolrIndexSearcher> searchHolder = null;
|
||||||
elevationCache.put(null, loadElevationMap(cfg));
|
try {
|
||||||
}
|
searchHolder = core.getNewestSearcher(false);
|
||||||
}
|
IndexReader reader = searchHolder.get().getIndexReader();
|
||||||
//in other words, we think this is in the data dir, not the conf dir
|
getElevationMap(reader, core);
|
||||||
if (!exists) {
|
} finally {
|
||||||
// preload the first data
|
if (searchHolder != null) searchHolder.decref();
|
||||||
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" >
|
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
|
||||||
<!-- pick a fieldType to analyze queries -->
|
<!-- pick a fieldType to analyze queries -->
|
||||||
<str name="queryFieldType">string</str>
|
<str name="queryFieldType">string</str>
|
||||||
<str name="config-file">elevate.xml</str>
|
|
||||||
</searchComponent>
|
</searchComponent>
|
||||||
|
|
||||||
<!-- A request handler for demonstrating the elevator component -->
|
<!-- 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" >
|
<searchComponent name="elevator" class="solr.QueryElevationComponent" >
|
||||||
<!-- pick a fieldType to analyze queries -->
|
<!-- pick a fieldType to analyze queries -->
|
||||||
<str name="queryFieldType">string</str>
|
<str name="queryFieldType">string</str>
|
||||||
<str name="config-file">elevate.xml</str>
|
|
||||||
</searchComponent>
|
</searchComponent>
|
||||||
|
|
||||||
<!-- A request handler for demonstrating the elevator component -->
|
<!-- A request handler for demonstrating the elevator component -->
|
||||||
|
|
Loading…
Reference in New Issue