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 ho...@apache.org on 2009/08/20 20:23:36 UTC

svn commit: r806289 - in /lucene/solr/trunk: ./ src/java/org/apache/solr/handler/admin/ src/test/org/apache/solr/ src/test/org/apache/solr/handler/component/ src/test/test-files/solr/conf/

Author: hossman
Date: Thu Aug 20 18:23:36 2009
New Revision: 806289

URL: http://svn.apache.org/viewvc?rev=806289&view=rev
Log:
SOLR-1371: LukeRequestHandler/schema.jsp errored if schema had no uniqueKey field. The new test for this also (hopefully) adds some future proofing against similar bugs in the future.  As a side effect QueryElevationComponentTest was refactored, and a bug in that test was found.

Added:
    lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java   (with props)
    lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml   (with props)
    lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig-elevate.xml
      - copied, changed from r805547, lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml
Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
    lucene/solr/trunk/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java
    lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml

Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=806289&r1=806288&r2=806289&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Thu Aug 20 18:23:36 2009
@@ -482,6 +482,12 @@
 
 57. SOLR-1360: Prevent PhoneticFilter from producing duplicate tokens. (yonik)
 
+58. SOLR-1371: LukeRequestHandler/schema.jsp errored if schema had no 
+    uniqueKey field.  The new test for this also (hopefully) adds some
+    future proofing against similar bugs in the future.  As a side
+    effect QueryElevationComponentTest was refactored, and a bug in
+    that test was found. (hossman)
+
 Other Changes
 ----------------------
  1. Upgraded to Lucene 2.4.0 (yonik)

Modified: lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java?rev=806289&r1=806288&r2=806289&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (original)
+++ lucene/solr/trunk/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java Thu Aug 20 18:23:36 2009
@@ -370,7 +370,8 @@
     SimpleOrderedMap<Object> finfo = new SimpleOrderedMap<Object>();
     finfo.add("fields", fields);
     finfo.add("dynamicFields", dynamicFields);
-    finfo.add("uniqueKeyField", uniqueField.getName());
+    finfo.add("uniqueKeyField", 
+              null == uniqueField ? null : uniqueField.getName());
     finfo.add("defaultSearchField", schema.getDefaultSearchFieldName());
     finfo.add("types", types);
     return finfo;

Added: lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java?rev=806289&view=auto
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java (added)
+++ lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java Thu Aug 20 18:23:36 2009
@@ -0,0 +1,129 @@
+/**
+ * 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.
+ */
+
+package org.apache.solr;
+
+import org.apache.solr.request.*;
+import org.apache.solr.util.*;
+
+import java.util.Set;
+
+/**
+ * A test of basic features using the minial legal solr schema.
+ */
+public class MinimalSchemaTest extends AbstractSolrTestCase {
+
+  public String getSchemaFile() { return "solr/conf/schema-minimal.xml"; } 
+
+
+  /**
+   * NOTE: we explicilty use the general 'solrconfig.xml' file here, in 
+   * an attempt to test as many braod features as possible.
+   *
+   * Do not change this to point at some other "simpler" solrconfig.xml 
+   * just because you want to add a new test case using solrconfig.xml, 
+   * but your new testcase adds a feature that breaks this test.
+   */
+  public String getSolrConfigFile() { return "solr/conf/solrconfig.xml"; }
+    
+  public void setUp() throws Exception {
+    super.setUp();
+
+    /* make sure some missguided soul doesn't inadvertantly give us 
+       a uniqueKey field and defeat the point of hte tests
+    */
+    assertNull("UniqueKey Field isn't null", 
+               h.getCore().getSchema().getUniqueKeyField());
+
+    lrf.args.put("version","2.0");
+
+    assertU("Simple assertion that adding a document works",
+            adoc("id",  "4055",
+                 "subject", "Hoss",
+                 "project", "Solr"));
+    assertU(adoc("id",  "4056",
+                 "subject", "Yonik",
+                 "project", "Solr"));
+    assertU(commit());
+    assertU(optimize());
+
+  }
+
+  public void testSimpleQueries() {
+
+    assertQ("couldn't find subject hoss",
+            req("subject:Hoss")
+            ,"//result[@numFound=1]"
+            ,"//str[@name='id'][.='4055']"
+            );
+
+    assertQ("couldn't find subject Yonik",
+            req("subject:Yonik")
+            ,"//result[@numFound=1]"
+            ,"//str[@name='id'][.='4056']"
+            );
+  }
+
+  /** SOLR-1371 */
+  public void testLuke() {
+    
+    assertQ("basic luke request failed",
+            req("qt", "/admin/luke")
+            ,"//int[@name='numDocs'][.='2']"
+            ,"//int[@name='numTerms'][.='5']"
+            );
+
+    assertQ("luke show schema failed",
+            req("qt", "/admin/luke",
+                "show","schema")
+            ,"//int[@name='numDocs'][.='2']"
+            ,"//int[@name='numTerms'][.='5']"
+            ,"//null[@name='uniqueKeyField']"
+            ,"//null[@name='defaultSearchField']"
+            );
+
+  }
+
+
+  /** 
+   * Iterates over all (non "/update/*") handlers in the core and hits 
+   * them with a request (using some simple params) to verify that they 
+   * don't generate an error against the minimal schema
+   */
+  public void testAllConfiguredHandlers() {
+    Set<String> handlerNames = h.getCore().getRequestHandlers().keySet();
+    for (String handler : handlerNames) {
+      try {
+        if (handler.startsWith("/update")) {
+          continue;
+        }
+
+        assertQ("failure w/handler: '" + handler + "'",
+                req("qt", handler,
+                    // this should be fairly innoculous for any type of query
+                    "q", "foo:bar")
+                ,"//lst[@name='responseHeader']"
+                );
+      } catch (Exception e) {
+        throw new RuntimeException("exception w/handler: '" + handler + "'", 
+                                   e);
+      }
+    }
+  }
+}
+
+

Propchange: lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: lucene/solr/trunk/src/test/org/apache/solr/MinimalSchemaTest.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Modified: lucene/solr/trunk/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java?rev=806289&r1=806288&r2=806289&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java (original)
+++ lucene/solr/trunk/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java Thu Aug 20 18:23:36 2009
@@ -40,7 +40,7 @@
 public class QueryElevationComponentTest extends AbstractSolrTestCase {
 
   @Override public String getSchemaFile() { return "schema12.xml"; }
-  @Override public String getSolrConfigFile() { return "solrconfig.xml"; }
+  @Override public String getSolrConfigFile() { return "solrconfig-elevate.xml"; }
   
   public void testInterface() throws Exception
   {
@@ -89,13 +89,12 @@
   public void testEmptyQuery() throws Exception {
     SolrCore core = h.getCore();
 
-
-
     //String query = "title:ipod";
 
     Map<String,String> args = new HashMap<String, String>();
     args.put( "q.alt", "*:*" );
     args.put( "defType", "dismax");
+    args.put( CommonParams.QT, "/elevate" );
     //args.put( CommonParams.FL, "id,title,score" );
     SolrQueryRequest req = new LocalSolrQueryRequest( core, new MapSolrParams( args) );
     assertQ("Make sure QEC handles null queries", req, "//*[@numFound='0']");

Added: lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml?rev=806289&view=auto
==============================================================================
--- lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml (added)
+++ lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml Thu Aug 20 18:23:36 2009
@@ -0,0 +1,25 @@
+<?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.
+-->
+<schema name="minimal" version="1.1">
+ <types>
+  <fieldType name="string" class="solr.StrField"/>
+ </types>
+ <fields>
+   <dynamicField name="*" type="string" indexed="true" stored="true" />
+ </fields>
+</schema>

Propchange: lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: lucene/solr/trunk/src/test/test-files/solr/conf/schema-minimal.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Copied: lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig-elevate.xml (from r805547, lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml)
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig-elevate.xml?p2=lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig-elevate.xml&p1=lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml&r1=805547&r2=806289&rev=806289&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml (original)
+++ lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig-elevate.xml Thu Aug 20 18:23:36 2009
@@ -168,22 +168,6 @@
     -->
     <enableLazyFieldLoading>true</enableLazyFieldLoading>
 
-    <!--
-
-    <cache name="myUserCache"
-      class="solr.search.LRUCache"
-      size="4096"
-      initialSize="1024"
-      autowarmCount="1024"
-      regenerator="MyRegenerator"
-      />
-    -->
-
-
-    <!--
-    <useFilterForSortedQuery>true</useFilterForSortedQuery>
-    -->
-
     <queryResultWindowSize>10</queryResultWindowSize>
 
     <!-- set maxSize artificially low to exercise both types of sets -->
@@ -197,122 +181,10 @@
     <boolTofilterOptimizer enabled="false" cacheSize="32" threshold=".05"/>
 
 
-    <!-- a newSearcher event is fired whenever a new searcher is being prepared
-         and there is a current searcher handling requests (aka registered). -->
-    <!-- QuerySenderListener takes an array of NamedList and executes a
-         local query request for each NamedList in sequence. -->
-    <!--
-    <listener event="newSearcher" class="solr.QuerySenderListener">
-      <arr name="queries">
-        <lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst>
-        <lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst>
-      </arr>
-    </listener>
-    -->
-
-    <!-- a firstSearcher event is fired whenever a new searcher is being
-         prepared but there is no current registered searcher to handle
-         requests or to gain prewarming data from. -->
-    <!--
-    <listener event="firstSearcher" class="solr.QuerySenderListener">
-      <arr name="queries">
-        <lst> <str name="q">fast_warm</str> <str name="start">0</str> <str name="rows">10</str> </lst>
-      </arr>
-    </listener>
-    -->
-
-
   </query>
 
+  <requestHandler name="/update"     class="solr.XmlUpdateRequestHandler" />
 
-  <!-- An alternate set representation that uses an integer hash to store filters (sets of docids).
-       If the set cardinality <= maxSize elements, then HashDocSet will be used instead of the bitset
-       based HashBitset. -->
-
-  <!-- requestHandler plugins... incoming queries will be dispatched to the
-     correct handler based on the qt (query type) param matching the
-     name of registered handlers.
-      The "standard" request handler is the default and will be used if qt
-     is not specified in the request.
-  -->
-  <requestHandler name="standard" class="solr.StandardRequestHandler">
-  	<bool name="httpCaching">true</bool>
-  </requestHandler>
-  <requestHandler name="dismaxOldStyleDefaults"
-                  class="solr.DisMaxRequestHandler" >
-     <!-- for historic reasons, DisMaxRequestHandler will use all of
-          it's init params as "defaults" if there is no "defaults" list
-          specified
-     -->
-     <float name="tie">0.01</float>
-     <str name="qf">
-        text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
-     </str>
-     <str name="pf">
-        text^0.2 features_t^1.1 subject^1.4 title_stemmed^2.0 title^1.5
-     </str>
-     <str name="bf">
-        ord(weight)^0.5 recip(rord(iind),1,1000,1000)^0.3
-     </str>
-     <str name="mm">
-        3&lt;-1 5&lt;-2 6&lt;90%
-     </str>
-     <int name="ps">100</int>
-  </requestHandler>
-  <requestHandler name="dismax" class="solr.DisMaxRequestHandler" >
-    <lst name="defaults">
-     <str name="q.alt">*:*</str>
-     <float name="tie">0.01</float>
-     <str name="qf">
-        text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
-     </str>
-     <str name="pf">
-        text^0.2 features_t^1.1 subject^1.4 title_stemmed^2.0 title^1.5
-     </str>
-     <str name="bf">
-        ord(weight)^0.5 recip(rord(iind),1,1000,1000)^0.3
-     </str>
-     <str name="mm">
-        3&lt;-1 5&lt;-2 6&lt;90%
-     </str>
-     <int name="ps">100</int>
-    </lst>
-  </requestHandler>
-  <requestHandler name="old" class="solr.tst.OldRequestHandler" >
-    <int name="myparam">1000</int>
-    <float name="ratio">1.4142135</float>
-    <arr name="myarr"><int>1</int><int>2</int></arr>
-    <str>foo</str>
-  </requestHandler>
-  <requestHandler name="oldagain" class="solr.tst.OldRequestHandler" >
-    <lst name="lst1"> <str name="op">sqrt</str> <int name="val">2</int> </lst>
-    <lst name="lst2"> <str name="op">log</str> <float name="val">10</float> </lst>
-  </requestHandler>
-
-  <requestHandler name="test" class="solr.tst.TestRequestHandler" />
-
-  <!-- test query parameter defaults -->
-  <requestHandler name="defaults" class="solr.StandardRequestHandler">
-    <lst name="defaults">
-      <int name="rows">4</int>
-      <bool name="hl">true</bool>
-      <str name="hl.fl">text,name,subject,title,whitetok</str>
-    </lst>
-  </requestHandler>
-
-  <!-- test query parameter defaults -->
-  <requestHandler name="lazy" class="solr.StandardRequestHandler" startup="lazy">
-    <lst name="defaults">
-      <int name="rows">4</int>
-      <bool name="hl">true</bool>
-      <str name="hl.fl">text,name,subject,title,whitetok</str>
-    </lst>
-  </requestHandler>
-
-  <requestHandler name="/update"     class="solr.XmlUpdateRequestHandler"          />
-  <requestHandler name="/update/csv" class="solr.CSVRequestHandler" startup="lazy">
-  	<bool name="httpCaching">false</bool>
-  </requestHandler>
 
   <!-- test elevation -->
   <searchComponent name="elevate" class="org.apache.solr.handler.component.QueryElevationComponent" >
@@ -329,96 +201,6 @@
     </arr>
   </requestHandler>
 
-  <searchComponent name="spellcheck" class="org.apache.solr.handler.component.SpellCheckComponent">
-    <str name="queryAnalyzerFieldType">lowerfilt</str>
-
-    <lst name="spellchecker">
-      <str name="name">default</str>
-      <str name="field">lowerfilt</str>
-      <str name="spellcheckIndexDir">spellchecker1</str>
-      <str name="buildOnCommit">true</str>
-    </lst>
-    <!-- Example of using different distance measure -->
-    <lst name="spellchecker">
-      <str name="name">jarowinkler</str>
-      <str name="field">lowerfilt</str>
-      <!-- Use a different Distance Measure -->
-      <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>
-      <str name="spellcheckIndexDir">spellchecker2</str>
-
-    </lst>
-    <lst name="spellchecker">
-      <str name="classname">solr.FileBasedSpellChecker</str>
-      <str name="name">external</str>
-      <str name="sourceLocation">spellings.txt</str>
-      <str name="characterEncoding">UTF-8</str>
-      <str name="spellcheckIndexDir">spellchecker3</str>
-    </lst>
-  </searchComponent>
-
-  <searchComponent name="termsComp" class="org.apache.solr.handler.component.TermsComponent"/>
-
-  <requestHandler name="/terms" class="org.apache.solr.handler.component.SearchHandler">
-    <arr name="components">
-      <str>termsComp</str>
-    </arr>
-  </requestHandler>
-  <!--
-  The SpellingQueryConverter to convert raw (CommonParams.Q) queries into tokens.  Uses a simple regular expression
-   to strip off field markup, boosts, ranges, etc. but it is not guaranteed to match an exact parse from the query parser.
-   -->
-  <queryConverter name="queryConverter" class="org.apache.solr.spelling.SpellingQueryConverter"/>
-
-  <requestHandler name="spellCheckCompRH" class="org.apache.solr.handler.component.SearchHandler">
-    <lst name="defaults">
-      <!-- omp = Only More Popular -->
-      <str name="spellcheck.onlyMorePopular">false</str>
-      <!-- exr = Extended Results -->
-      <str name="spellcheck.extendedResults">false</str>
-      <!--  The number of suggestions to return -->
-      <str name="spellcheck.count">1</str>
-    </lst>
-    <arr name="last-components">
-      <str>spellcheck</str>
-    </arr>
-  </requestHandler>
-
-  
-  <searchComponent name="tvComponent" class="org.apache.solr.handler.component.TermVectorComponent"/>
-
-  <requestHandler name="tvrh" class="org.apache.solr.handler.component.SearchHandler">
-    <lst name="defaults">
-
-    </lst>
-    <arr name="last-components">
-      <str>tvComponent</str>
-    </arr>
-  </requestHandler>
-
-  <highlighting>
-   <!-- Configure the standard fragmenter -->
-   <fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" default="true">
-    <lst name="defaults">
-     <int name="hl.fragsize">100</int>
-    </lst>
-   </fragmenter>
-
-   <fragmenter name="regex" class="org.apache.solr.highlight.RegexFragmenter">
-    <lst name="defaults">
-     <int name="hl.fragsize">70</int>
-    </lst>
-   </fragmenter>
-
-   <!-- Configure the standard formatter -->
-   <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true">
-    <lst name="defaults">
-     <str name="hl.simple.pre"><![CDATA[<em>]]></str>
-     <str name="hl.simple.post"><![CDATA[</em>]]></str>
-    </lst>
-   </formatter>
-  </highlighting>
-
-
   <!-- enable streaming for testing... -->
   <requestDispatcher handleSelect="true" >
     <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
@@ -438,14 +220,4 @@
 
   <queryParser name="foo" class="FooQParserPlugin"/>
 
-  <updateRequestProcessorChain name="dedupe">
-    <processor class="org.apache.solr.update.processor.SignatureUpdateProcessorFactory">
-      <bool name="enabled">false</bool>
-      <bool name="overwriteDupes">true</bool>
-      <str name="fields">v_t,t_field</str>
-      <str name="signatureClass">org.apache.solr.update.processor.TextProfileSignature</str>
-    </processor>
-    <processor class="solr.RunUpdateProcessorFactory" />
-  </updateRequestProcessorChain>
-
 </config>

Modified: lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml?rev=806289&r1=806288&r2=806289&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml (original)
+++ lucene/solr/trunk/src/test/test-files/solr/conf/solrconfig.xml Thu Aug 20 18:23:36 2009
@@ -20,6 +20,20 @@
 <!-- $Id: solrconfig.xml 382610 2006-03-03 01:43:03Z yonik $
      $Source$
      $Name$
+
+
+
+     This is a "kitchen sink" config file that tests can use.
+     When writting a new test, feel free to add *new* items (plugins,
+     config options, etc...) as long as they don't break any existing
+     tests.  if you need to test something esoteric please add a new
+     "solrconfig-your-esoteric-purpose.xml" config file.
+
+     Note in particular that this test is used by MinimalSchemaTest so 
+     Anything added to this file needs to work correctly even if there
+     is now uniqueKey or defaultSearch Field.
+
+
   -->
 
 <config>
@@ -244,6 +258,7 @@
           it's init params as "defaults" if there is no "defaults" list
           specified
      -->
+     <str name="q.alt">*:*</str>
      <float name="tie">0.01</float>
      <str name="qf">
         text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
@@ -289,6 +304,8 @@
     <lst name="lst2"> <str name="op">log</str> <float name="val">10</float> </lst>
   </requestHandler>
 
+  <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
+
   <requestHandler name="test" class="solr.tst.TestRequestHandler" />
 
   <!-- test query parameter defaults -->
@@ -314,21 +331,6 @@
   	<bool name="httpCaching">false</bool>
   </requestHandler>
 
-  <!-- test elevation -->
-  <searchComponent name="elevate" class="org.apache.solr.handler.component.QueryElevationComponent" >
-    <str name="queryFieldType">string</str>
-    <str name="config-file">elevate.xml</str>
-  </searchComponent>
-
-  <requestHandler name="/elevate" class="org.apache.solr.handler.component.SearchHandler">
-    <lst name="defaults">
-      <str name="echoParams">explicit</str>
-    </lst>
-    <arr name="last-components">
-      <str>elevate</str>
-    </arr>
-  </requestHandler>
-
   <searchComponent name="spellcheck" class="org.apache.solr.handler.component.SpellCheckComponent">
     <str name="queryAnalyzerFieldType">lowerfilt</str>