diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 13c6542f553..4407ba49875 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -228,6 +228,9 @@ New Features * SOLR-2049: Add hl.multiValuedSeparatorChar for FastVectorHighlighter, per LUCENE-2603. (koji) +* SOLR-1881: add a url-scheme config string to SearchHandler to specify alternate + URL prefixes for distributed search shard requests. (Sami Siren via yonik) + Optimizations ---------------------- diff --git a/solr/example/solr/conf/solrconfig.xml b/solr/example/solr/conf/solrconfig.xml index 40790aeeb80..4436d38c679 100755 --- a/solr/example/solr/conf/solrconfig.xml +++ b/solr/example/solr/conf/solrconfig.xml @@ -543,6 +543,9 @@ spellcheck + diff --git a/solr/src/java/org/apache/solr/handler/component/SearchHandler.java b/solr/src/java/org/apache/solr/handler/component/SearchHandler.java index cbb7f97e53d..2817d2cf64b 100644 --- a/solr/src/java/org/apache/solr/handler/component/SearchHandler.java +++ b/solr/src/java/org/apache/solr/handler/component/SearchHandler.java @@ -64,9 +64,14 @@ public class SearchHandler extends RequestHandlerBase implements SolrCoreAware // cannot be established within x ms. with a // java.net.SocketTimeoutException: Connection timed out static final String INIT_CONNECTION_TIMEOUT = "shard-connection-timeout"; + + // URL scheme to be used in distributed search. + static final String INIT_URL_SCHEME = "url-scheme"; + static int soTimeout = 0; //current default values static int connectionTimeout = 0; //current default values - + public static String scheme = "http://"; //current default values + protected static Logger log = LoggerFactory.getLogger(SearchHandler.class); protected List components = null; @@ -148,6 +153,12 @@ public class SearchHandler extends RequestHandlerBase implements SolrCoreAware soTimeout = (Integer) so; log.info("Setting shard-socket-timeout to: " + soTimeout); } + + Object urlScheme = initArgs.get(INIT_URL_SCHEME); + if (urlScheme != null) { + SearchHandler.scheme = (String) urlScheme + "://"; + log.info("Setting url-scheme to: " + urlScheme); + } } public List getComponents() { @@ -403,7 +414,7 @@ class HttpCommComponent { try { // String url = "http://" + shard + "/select"; - String url = "http://" + shard; + String url = SearchHandler.scheme + shard; params.remove(CommonParams.WT); // use default (currently javabin) params.remove(CommonParams.VERSION);