Package org.apache.solr.cli
Class SolrCLI
- java.lang.Object
-
- org.apache.solr.cli.SolrCLI
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SolrCLI.AssertionFailureException
-
Field Summary
Fields Modifier and Type Field Description static List<org.apache.commons.cli.Option>
cloudOptions
static List<org.apache.commons.cli.Option>
CREATE_COLLECTION_OPTIONS
static String
DEFAULT_CONFIG_SET
static org.apache.commons.cli.Option
OPTION_RECURSE
static org.apache.commons.cli.Option
OPTION_SOLRURL
static org.apache.commons.cli.Option
OPTION_VERBOSE
static org.apache.commons.cli.Option
OPTION_ZKHOST
static String
ZK_HOST
-
Constructor Summary
Constructors Constructor Description SolrCLI()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
checkCodeForAuthError(int code)
static boolean
checkCommunicationError(Exception exc)
Determine if a request to Solr failed due to a communication error, which is generally retry-able.protected static void
checkSslStoreSysProp(String solrInstallDir, String key)
static boolean
exceptionIsAuthRelated(Exception exc)
static void
exit(int exitStatus)
static Tool
findTool(String[] args)
static String
getDefaultSolrUrl()
static org.apache.solr.client.solrj.SolrClient
getSolrClient(String solrUrl)
static org.apache.commons.cli.Options
getToolOptions(Tool tool)
static String
getZkHost(org.apache.commons.cli.CommandLine cli)
Get the ZooKeeper connection string from either the zkHost command-line option or by looking it up from a running Solr instance based on the solrUrl option.static List<org.apache.commons.cli.Option>
joinOptions(List<org.apache.commons.cli.Option> lhs, List<org.apache.commons.cli.Option> rhs)
static void
main(String[] args)
Runs a tool.static String
normalizeSolrUrl(String solrUrl)
Strips off the end of solrUrl any /solr when a legacy solrUrl like http://localhost:8983/solr is used, and warns those users.static String
normalizeSolrUrl(String solrUrl, boolean logUrlFormatWarning)
Strips off the end of solrUrl any /solr when a legacy solrUrl like http://localhost:8983/solr is used, and optionally logs a warning.static org.apache.commons.cli.CommandLine
parseCmdLine(String toolName, String[] args, List<org.apache.commons.cli.Option> toolOptions)
static org.apache.solr.common.util.NamedList<Object>
postJsonToSolr(org.apache.solr.client.solrj.SolrClient solrClient, String updatePath, String jsonBody)
static org.apache.commons.cli.CommandLine
processCommandLineArgs(String toolName, List<org.apache.commons.cli.Option> customOptions, String[] args)
Parses the command-line arguments passed by the user.static void
raiseLogLevelUnlessVerbose(org.apache.commons.cli.CommandLine cli)
static String
resolveSolrUrl(org.apache.commons.cli.CommandLine cli)
Get the base URL of a live Solr instance from either the solrUrl command-line option or from ZooKeeper.static boolean
safeCheckCollectionExists(String solrUrl, String collection)
static boolean
safeCheckCoreExists(String solrUrl, String coreName)
static String
uptime(long uptimeMs)
-
-
-
Field Detail
-
ZK_HOST
public static final String ZK_HOST
- See Also:
- Constant Field Values
-
OPTION_ZKHOST
public static final org.apache.commons.cli.Option OPTION_ZKHOST
-
OPTION_SOLRURL
public static final org.apache.commons.cli.Option OPTION_SOLRURL
-
OPTION_VERBOSE
public static final org.apache.commons.cli.Option OPTION_VERBOSE
-
OPTION_RECURSE
public static final org.apache.commons.cli.Option OPTION_RECURSE
-
cloudOptions
public static final List<org.apache.commons.cli.Option> cloudOptions
-
DEFAULT_CONFIG_SET
public static final String DEFAULT_CONFIG_SET
- See Also:
- Constant Field Values
-
CREATE_COLLECTION_OPTIONS
public static final List<org.apache.commons.cli.Option> CREATE_COLLECTION_OPTIONS
-
-
Method Detail
-
exit
public static void exit(int exitStatus)
-
parseCmdLine
public static org.apache.commons.cli.CommandLine parseCmdLine(String toolName, String[] args, List<org.apache.commons.cli.Option> toolOptions)
-
getDefaultSolrUrl
public static String getDefaultSolrUrl()
-
raiseLogLevelUnlessVerbose
public static void raiseLogLevelUnlessVerbose(org.apache.commons.cli.CommandLine cli)
-
getToolOptions
public static org.apache.commons.cli.Options getToolOptions(Tool tool)
-
joinOptions
public static List<org.apache.commons.cli.Option> joinOptions(List<org.apache.commons.cli.Option> lhs, List<org.apache.commons.cli.Option> rhs)
-
processCommandLineArgs
public static org.apache.commons.cli.CommandLine processCommandLineArgs(String toolName, List<org.apache.commons.cli.Option> customOptions, String[] args)
Parses the command-line arguments passed by the user.
-
checkCommunicationError
public static boolean checkCommunicationError(Exception exc)
Determine if a request to Solr failed due to a communication error, which is generally retry-able.
-
checkCodeForAuthError
public static void checkCodeForAuthError(int code)
-
exceptionIsAuthRelated
public static boolean exceptionIsAuthRelated(Exception exc)
-
getSolrClient
public static org.apache.solr.client.solrj.SolrClient getSolrClient(String solrUrl)
-
postJsonToSolr
public static org.apache.solr.common.util.NamedList<Object> postJsonToSolr(org.apache.solr.client.solrj.SolrClient solrClient, String updatePath, String jsonBody) throws Exception
- Throws:
Exception
-
uptime
public static String uptime(long uptimeMs)
-
normalizeSolrUrl
public static String normalizeSolrUrl(String solrUrl)
Strips off the end of solrUrl any /solr when a legacy solrUrl like http://localhost:8983/solr is used, and warns those users. In the future we'll have urls ending with /api as well.- Parameters:
solrUrl
- The user supplied url to Solr.- Returns:
- the solrUrl in the format that Solr expects to see internally.
-
normalizeSolrUrl
public static String normalizeSolrUrl(String solrUrl, boolean logUrlFormatWarning)
Strips off the end of solrUrl any /solr when a legacy solrUrl like http://localhost:8983/solr is used, and optionally logs a warning. In the future we'll have urls ending with /api as well.- Parameters:
solrUrl
- The user supplied url to Solr.logUrlFormatWarning
- If a warning message should be logged about the url format- Returns:
- the solrUrl in the format that Solr expects to see internally.
-
resolveSolrUrl
public static String resolveSolrUrl(org.apache.commons.cli.CommandLine cli) throws Exception
Get the base URL of a live Solr instance from either the solrUrl command-line option or from ZooKeeper.- Throws:
Exception
-
getZkHost
public static String getZkHost(org.apache.commons.cli.CommandLine cli) throws Exception
Get the ZooKeeper connection string from either the zkHost command-line option or by looking it up from a running Solr instance based on the solrUrl option.- Throws:
Exception
-
safeCheckCollectionExists
public static boolean safeCheckCollectionExists(String solrUrl, String collection)
-
-