Package org.apache.solr.common.util
Class URLUtil
java.lang.Object
org.apache.solr.common.util.URLUtil
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringbuildCoreUrl(String baseUrl, String coreName) Create a core URL (e.g.static StringextractBaseUrl(String coreUrl) static StringextractCoreFromCoreUrl(String coreUrl) static StringgetBaseUrlForNodeName(String nodeName, String urlScheme) Construct a V1 base url for the Solr node, given its name (e.g., 'app-node-1:8983_solr') and a URL scheme.static StringgetBaseUrlForNodeName(String nodeName, String urlScheme, boolean isV2) Construct a V1 or a V2 base url for the Solr node, given its name (e.g., 'app-node-1:8983_solr') and a URL scheme.static StringgetNodeNameForBaseUrl(String solrUrl) Construct base Solr URL to a Solr node namestatic Stringstatic booleanstatic booleanstatic StringremoveScheme(String url)
-
Field Details
-
URL_PREFIX
-
-
Constructor Details
-
URLUtil
public URLUtil()
-
-
Method Details
-
removeScheme
-
hasScheme
-
getScheme
-
isBaseUrl
-
extractBaseUrl
- Parameters:
coreUrl- a URL pointing to a specific "core" or collection (i.e. that adheres loosely to the form "scheme://host:port/solr/coreName")- Returns:
- a URL pointing to the Solr node's root path
-
extractCoreFromCoreUrl
-
buildCoreUrl
Create a core URL (e.g. "http://localhost:8983/solr/myCore") from its individual components- Parameters:
baseUrl- a Solr "base URL" (e.g. "http://localhost:8983/solr/")coreName- the name of a Solr core or collection (with no leading or trailing slashes)
-
getBaseUrlForNodeName
Construct a V1 base url for the Solr node, given its name (e.g., 'app-node-1:8983_solr') and a URL scheme.- Parameters:
nodeName- name of the Solr nodeurlScheme- scheme for the base url ('http' or 'https')- Returns:
- url that looks like
https://app-node-1:8983/solr - Throws:
IllegalArgumentException- if the provided node name is malformed
-
getBaseUrlForNodeName
Construct a V1 or a V2 base url for the Solr node, given its name (e.g., 'app-node-1:8983_solr') and a URL scheme.- Parameters:
nodeName- name of the Solr nodeurlScheme- scheme for the base url ('http' or 'https')isV2- whether a V2 url should be constructed- Returns:
- url that looks like
https://app-node-1:8983/api(V2) orhttps://app-node-1:8983/solr(V1) - Throws:
IllegalArgumentException- if the provided node name is malformed
-
getNodeNameForBaseUrl
public static String getNodeNameForBaseUrl(String solrUrl) throws MalformedURLException, URISyntaxException Construct base Solr URL to a Solr node name- Parameters:
solrUrl- Given a base Solr URL string (e.g., 'https://app-node-1:8983/solr')- Returns:
- Node name that looks like
app-node-1:8983_solr - Throws:
MalformedURLException- if the provided URL string is malformedURISyntaxException- if the provided URL string could not be parsed as a URI reference.
-