You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by yo...@apache.org on 2010/12/31 18:50:45 UTC

svn commit: r1054149 - in /lucene/dev/trunk/solr: contrib/clustering/src/main/java/org/apache/solr/handler/clustering/carrot2/ src/java/org/apache/solr/core/ src/java/org/apache/solr/handler/component/ src/java/org/apache/solr/util/ src/test/org/apache...

Author: yonik
Date: Fri Dec 31 17:50:45 2010
New Revision: 1054149

URL: http://svn.apache.org/viewvc?rev=1054149&view=rev
Log:
SOLR-1930: remove SolrCore deprecations

Modified:
    lucene/dev/trunk/solr/contrib/clustering/src/main/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java
    lucene/dev/trunk/solr/src/java/org/apache/solr/core/SolrCore.java
    lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java
    lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/QueryComponent.java
    lucene/dev/trunk/solr/src/java/org/apache/solr/util/SolrPluginUtils.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/FastVectorHighlighterTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterConfigTest.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterTest.java
    lucene/dev/trunk/solr/src/webapp/src/org/apache/solr/servlet/DirectSolrConnection.java

Modified: lucene/dev/trunk/solr/contrib/clustering/src/main/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/contrib/clustering/src/main/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/contrib/clustering/src/main/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java (original)
+++ lucene/dev/trunk/solr/contrib/clustering/src/main/java/org/apache/solr/handler/clustering/carrot2/CarrotClusteringEngine.java Fri Dec 31 17:50:45 2010
@@ -38,6 +38,7 @@ import org.apache.solr.common.util.Named
 import org.apache.solr.common.util.SimpleOrderedMap;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.handler.clustering.SearchClusteringEngine;
+import org.apache.solr.handler.component.HighlightComponent;
 import org.apache.solr.highlight.SolrHighlighter;
 import org.apache.solr.request.LocalSolrQueryRequest;
 import org.apache.solr.request.SolrQueryRequest;
@@ -175,7 +176,7 @@ public class CarrotClusteringEngine exte
     SolrQueryRequest req = null;
     String[] snippetFieldAry = null;
     if (produceSummary == true) {
-      highlighter = core.getHighlighter();
+      highlighter = HighlightComponent.getHighlighter(core);
       if (highlighter != null){
         Map args = new HashMap();
         snippetFieldAry = new String[]{snippetField};

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/core/SolrCore.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/core/SolrCore.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/core/SolrCore.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/core/SolrCore.java Fri Dec 31 17:50:45 2010
@@ -105,12 +105,6 @@ public final class SolrCore implements S
 
   public long getStartTime() { return startTime; }
 
-  /**
-   * @deprecated Use {@link CoreContainer#getCore(String)} instead.
-   */
-  @Deprecated
-  private static SolrCore instance;
-
   static int boolean_query_max_clause_count = Integer.MIN_VALUE;
   // only change the BooleanQuery maxClauseCount once for ALL cores...
   void booleanQueryMaxClauseCount()  {
@@ -140,15 +134,7 @@ public final class SolrCore implements S
   public String getConfigResource() {
     return solrConfig.getResourceName();
   }
-  
-  /**
-   * Gets the configuration resource name used by this core instance.
-   * @deprecated Use {@link #getConfigResource()} instead.
-   */
-  @Deprecated
-  public String getConfigFile() {
-    return solrConfig.getResourceName();
-  }
+
   /**
    * Gets the configuration object used by this core instance.
    */
@@ -165,15 +151,6 @@ public final class SolrCore implements S
   }
 
   /**
-   * Gets the schema resource name used by this core instance.
-   * @deprecated Use {@link #getSchemaResource()} instead.
-   */
-  @Deprecated
-  public String getSchemaFile() {
-    return schema.getResourceName();
-  }
-  
-  /**
    * Gets the schema object used by this core instance.
    */
   public IndexSchema getSchema() { 
@@ -463,30 +440,6 @@ public final class SolrCore implements S
     return createInstance(className, UpdateHandler.class, "Update Handler");
   }
   
-
-  /** 
-   * @return the last core initialized.  If you are using multiple cores, 
-   * this is not a function to use.
-   * 
-   * @deprecated Use {@link CoreContainer#getCore(String)} instead.
-   */
-  @Deprecated
-  public static SolrCore getSolrCore() {
-    synchronized( SolrCore.class ) {
-      if( instance == null ) {
-        try {
-          // sets 'instance' to the latest solr core          
-          CoreContainer.Initializer init = new CoreContainer.Initializer();
-          instance = init.initialize().getCore("");
-        } catch(Exception xany) {
-          throw new SolrException( SolrException.ErrorCode.SERVER_ERROR,
-              "error creating core", xany );
-        }
-      }
-    }
-    return instance;
-  }
-  
   /**
    * 
    * @param dataDir
@@ -555,7 +508,7 @@ public final class SolrCore implements S
     initQParsers();
     initValueSourceParsers();
 
-    this.searchComponents = loadSearchComponents();
+    this.searchComponents = Collections.unmodifiableMap(loadSearchComponents());
 
     // Processors initialized before the handlers
     updateProcessorChains = loadUpdateProcessorChains();
@@ -592,7 +545,6 @@ public final class SolrCore implements S
       // Finally tell anyone who wants to know
       resourceLoader.inform( resourceLoader );
       resourceLoader.inform( this );  // last call before the latch is released.
-      instance = this;   // set singleton for backwards compatibility
     } catch (IOException e) {
       throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, null, e, false);
     } finally {
@@ -768,16 +720,7 @@ public final class SolrCore implements S
      closeHooks.add( hook );
    }
 
-  /**
-   * Returns a Request object based on the admin/pingQuery section
-   * of the Solr config file.
-   * 
-   * @deprecated use {@link org.apache.solr.handler.PingRequestHandler} instead
-   */
-  @Deprecated
-  public SolrQueryRequest getPingQueryRequest() {
-    return solrConfig.getPingQueryRequest(this);
-  }
+
   ////////////////////////////////////////////////////////////////////////////////
   // Request Handler
   ////////////////////////////////////////////////////////////////////////////////
@@ -805,14 +748,6 @@ public final class SolrCore implements S
     return reqHandlers.getRequestHandlers();
   }
 
-  /**
-   * Get the SolrHighlighter
-   */
-  @Deprecated
-  public SolrHighlighter getHighlighter() {
-    HighlightComponent hl = (HighlightComponent) searchComponents.get(HighlightComponent.COMPONENT_NAME);
-    return hl==null? null: hl.getHighlighter();
-  }
 
   /**
    * Registers a handler at the specified location.  If one exists there, it will be replaced.
@@ -892,7 +827,7 @@ public final class SolrCore implements S
    * @return An unmodifiable Map of Search Components
    */
   public Map<String, SearchComponent> getSearchComponents() {
-    return Collections.unmodifiableMap(searchComponents);
+    return searchComponents;
   }
 
   ////////////////////////////////////////////////////////////////////////////////

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/HighlightComponent.java Fri Dec 31 17:50:45 2010
@@ -50,6 +50,10 @@ public class HighlightComponent extends 
   private PluginInfo info = PluginInfo.EMPTY_INFO;
   private SolrHighlighter highlighter;
 
+  public static SolrHighlighter getHighlighter(SolrCore core) {
+    HighlightComponent hl = (HighlightComponent) core.getSearchComponents().get(HighlightComponent.COMPONENT_NAME);
+    return hl==null ? null: hl.getHighlighter();    
+  }
 
   public void init(PluginInfo info) {
     this.info = info;

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/QueryComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/QueryComponent.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/QueryComponent.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/handler/component/QueryComponent.java Fri Dec 31 17:50:45 2010
@@ -527,8 +527,7 @@ public class QueryComponent extends Sear
     SolrQueryResponse rsp = rb.rsp;
     //pre-fetch returned documents
     if (!req.getParams().getBool(ShardParams.IS_SHARD,false) && rb.getResults().docList != null && rb.getResults().docList.size()<=50) {
-      // TODO: this may depend on the highlighter component (or other components?)
-      SolrPluginUtils.optimizePreFetchDocs(rb.getResults().docList, rb.getQuery(), req, rsp);
+      SolrPluginUtils.optimizePreFetchDocs(rb, rb.getResults().docList, rb.getQuery(), req, rsp);
     }
   }
 

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/util/SolrPluginUtils.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/util/SolrPluginUtils.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/util/SolrPluginUtils.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/util/SolrPluginUtils.java Fri Dec 31 17:50:45 2010
@@ -33,6 +33,7 @@ import org.apache.solr.common.util.Named
 import org.apache.solr.common.util.SimpleOrderedMap;
 import org.apache.solr.common.util.StrUtils;
 import org.apache.solr.core.SolrCore;
+import org.apache.solr.handler.component.HighlightComponent;
 import org.apache.solr.handler.component.ResponseBuilder;
 import org.apache.solr.highlight.SolrHighlighter;
 import org.apache.solr.request.SolrQueryRequest;
@@ -168,7 +169,8 @@ public class SolrPluginUtils {
    *
    * If lazy field loading is disabled, this method does nothing.
    */
-  public static void optimizePreFetchDocs(DocList docs,
+  public static void optimizePreFetchDocs(ResponseBuilder rb,
+                                          DocList docs,
                                           Query query,
                                           SolrQueryRequest req,
                                           SolrQueryResponse res) throws IOException {
@@ -178,28 +180,34 @@ public class SolrPluginUtils {
       return;
     }
 
-    Set<String> fieldFilter = null;
     Set<String> returnFields = res.getReturnFields();
+    Set<String> fieldFilter = returnFields;
+
     if(returnFields != null) {
-      // copy return fields list
-      fieldFilter = new HashSet<String>(returnFields);
-      // add highlight fields
-      SolrHighlighter highligher = req.getCore().getHighlighter();
-      if(highligher.isHighlightingEnabled(req.getParams())) {
-        for(String field: highligher.getHighlightFields(query, req, null))
+
+      if (rb.doHighlights) {
+        // copy return fields list
+        fieldFilter = new HashSet<String>(returnFields);
+        // add highlight fields
+
+        SolrHighlighter highlighter = HighlightComponent.getHighlighter(req.getCore());
+        for (String field: highlighter.getHighlightFields(query, req, null))
           fieldFilter.add(field);
-      }
-      // fetch unique key if one exists.
-      SchemaField keyField = req.getSearcher().getSchema().getUniqueKeyField();
-      if(null != keyField)
+
+        // fetch unique key if one exists.
+        SchemaField keyField = req.getSearcher().getSchema().getUniqueKeyField();
+        if(null != keyField)
           fieldFilter.add(keyField.getName());
-    }
+      }
+
+      // get documents
+      DocIterator iter = docs.iterator();
+      for (int i=0; i<docs.size(); i++) {
+        searcher.doc(iter.nextDoc(), fieldFilter);
+      }
 
-    // get documents
-    DocIterator iter = docs.iterator();
-    for (int i=0; i<docs.size(); i++) {
-      searcher.doc(iter.nextDoc(), fieldFilter);
     }
+
   }
 
 

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/FastVectorHighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/FastVectorHighlighterTest.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/FastVectorHighlighterTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/FastVectorHighlighterTest.java Fri Dec 31 17:50:45 2010
@@ -20,6 +20,7 @@ package org.apache.solr.highlight;
 import java.util.HashMap;
 
 import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.handler.component.HighlightComponent;
 import org.apache.solr.util.TestHarness;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -33,7 +34,7 @@ public class FastVectorHighlighterTest e
   
   @Test
   public void testConfig(){
-    SolrHighlighter highlighter = h.getCore().getHighlighter();
+    SolrHighlighter highlighter = HighlightComponent.getHighlighter(h.getCore());
 
     // Make sure we loaded the one fragListBuilder
     SolrFragListBuilder solrFlbNull = highlighter.fragListBuilders.get( null );

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterConfigTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterConfigTest.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterConfigTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterConfigTest.java Fri Dec 31 17:50:45 2010
@@ -16,6 +16,7 @@
  */
 package org.apache.solr.highlight;
 
+import org.apache.solr.handler.component.HighlightComponent;
 import org.apache.solr.util.AbstractSolrTestCase;
 import org.apache.solr.util.TestHarness;
 
@@ -42,7 +43,7 @@ public class HighlighterConfigTest exten
 	  
 	  public void testConfig()
 	  {
-	    SolrHighlighter highlighter = h.getCore().getHighlighter();
+            SolrHighlighter highlighter = HighlightComponent.getHighlighter(h.getCore());
 	    log.info( "highlighter" );
 
 	    assertTrue( highlighter instanceof DummyHighlighter );

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterTest.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterTest.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/highlight/HighlighterTest.java Fri Dec 31 17:50:45 2010
@@ -21,6 +21,7 @@ import org.apache.lucene.analysis.Analyz
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.core.WhitespaceAnalyzer;
 import org.apache.solr.SolrTestCaseJ4;
+import org.apache.solr.handler.component.HighlightComponent;
 import org.apache.solr.request.SolrQueryRequest;
 import org.apache.solr.util.*;
 import org.apache.solr.common.params.HighlightParams;
@@ -62,7 +63,7 @@ public class HighlighterTest extends Sol
   @Test
   public void testConfig()
   {
-    SolrHighlighter highlighter = h.getCore().getHighlighter();
+    SolrHighlighter highlighter = HighlightComponent.getHighlighter(h.getCore());
 
     // Make sure we loaded the one formatter
     SolrFormatter fmt1 = highlighter.formatters.get( null );
@@ -697,7 +698,7 @@ public class HighlighterTest extends Sol
         10, args);
 
     SolrQueryRequest request = lrf.makeRequest("test");
-    SolrHighlighter highlighter = request.getCore().getHighlighter();
+    SolrHighlighter highlighter = HighlightComponent.getHighlighter(h.getCore());
     List<String> highlightFieldNames = Arrays.asList(highlighter
         .getHighlightFields(null, request, new String[] {}));
     assertTrue("Expected to highlight on field \"title\"", highlightFieldNames
@@ -711,7 +712,7 @@ public class HighlighterTest extends Sol
     args.put("hl.fl", "foo_*");
     lrf = h.getRequestFactory("standard", 0, 10, args);
     request = lrf.makeRequest("test");
-    highlighter = request.getCore().getHighlighter();
+    highlighter = HighlightComponent.getHighlighter(h.getCore());
     highlightFieldNames = Arrays.asList(highlighter.getHighlightFields(null,
         request, new String[] {}));
     assertEquals("Expected one field to highlight on", 1, highlightFieldNames

Modified: lucene/dev/trunk/solr/src/webapp/src/org/apache/solr/servlet/DirectSolrConnection.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/webapp/src/org/apache/solr/servlet/DirectSolrConnection.java?rev=1054149&r1=1054148&r2=1054149&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/webapp/src/org/apache/solr/servlet/DirectSolrConnection.java (original)
+++ lucene/dev/trunk/solr/src/webapp/src/org/apache/solr/servlet/DirectSolrConnection.java Fri Dec 31 17:50:45 2010
@@ -53,19 +53,8 @@ import org.apache.solr.schema.IndexSchem
  */
 public class DirectSolrConnection 
 {
-  final SolrCore core;
-  final SolrRequestParsers parser;
-  
-  /**
-   * Initialize using the static singleton SolrCore.getSolrCore().
-   * 
-   * @deprecated use {@link #DirectSolrConnection(SolrCore)}
-   */
-  @Deprecated
-  public DirectSolrConnection()
-  {
-    this( SolrCore.getSolrCore() );
-  }
+  protected final SolrCore core;
+  protected final SolrRequestParsers parser;
 
   /**
    * Initialize using an explicit SolrCore