This document describes how to install the Search Core command-line tool contained in the search-core package. The following topics can be found in this section:
The Search Core depends on the prior installation of two software applications:
An instance of the Registry Service is required in order to query data and populate an index. It can either be installed locally or remotely, as long as you have an accessible URL for the Service. Future enhancements may include other methods of populating the index but do not exist at this time.
The Search Service must be installed and accessible, either locally or remotely, prior to running the Search Core. This software maintains the Solr web application and provides the infrastructure for the search capability.
This section details the system requirements for installing and operating the Search Core software.
The Search Core software was developed using Java and will run on any platform with a supported Java Runtime Environment (JRE). The software was specifically compiled for Java version 1.7 and has been tested with this version and version 1.8. The following commands test the local Java installation in a UNIX-based environment:
% which java /usr/bin/java % java -version java version "1.7.0_72" Java(TM) SE Runtime Environment (build 1.7.0_72-b14) Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)
The first command above checks whether the java executable is in the environment's path and the second command reports the version. If Java is not installed or the version is not at least 1.7, Java will need to be downloaded and installed in the current environment. Consult the local system administrator for installation of this software. For the do-it-yourself crowd, the Java software can be downloaded from the Oracle Java Download page. The suggested software package is the Java Standard Edition (SE) 7, either the JDK or the JRE package. The JDK package is not necessary to run the software but could be useful if development and compilation of Java software will also occur in the current environment.
Download the search-core package from the PDS FTP site. The binary distribution is available in identical zip or tar/gzip packages. The installation directory may vary from environment to environment but in UNIX-based environments it is typical to install software packages in the /usr/local directory and in Windows-based environments it is typical to install software packages in the C:\Program Files directory. Unpack the selected binary distribution file with one of the following commands:
% unzip search-core-1.10.0-bin.zip or % tar -xzvf search-core-1.10.0-bin.tar.gz
Note: Depending on the platform, the native version of tar may produce an error when attempting to unpack the distribution file because many of the file paths are greater than 100 characters. If available, the GNU version of tar will resolve this problem. If that is not available or cannot be installed, the zipped package will work just fine in a UNIX environment.
The commands above result in the creation of the search-core-1.10.0 directory with the following directory structure:
A README file directing the user to the available documentation for the project.
The copyright notice from the California Institute of Technology detailing the restrictions regarding the use and distribution of this software. Although the license is strictly worded, the software has been classified as Technology and Software Publicly Available (TSPA) and is available for anyone to download and use.
This directory contains batch and shell scripts for executing the tool.
This directory contains the configuration files needed to specify the Registry context products and the information needed to extract necessary data from the Registry.
This directory contains a local web site with the Search Core documentation, javadoc, unit test results and other configuration management related information. Just point the desired web browser to the index.html file in this directory.
This directory contains the dependent jar files for the tool along with the executable jar file (search-core-1.10.0.jar) containing the Search Core software.
In order to execute the Search Core, the local environment must first be configured appropriately. This section describes how to setup the user environment on UNIX-based and Windows machines.
This section details the environment setup for UNIX-based machines. First, a symbolic link should be made to the Search Core installation directory. This will provide a means to easily run the software, as well as upgrade software in the future.
The following command demonstrates how to create a symbolic link:
% ln -s /usr/local/search-core-1.10.0 /usr/local/search-core
The binary distribution includes shell scripts that must be executed from the command-line. Setting the PATH environment variable to the location of the scripts, enables the shell scripts to be executed from any location on the local machine.
The following command demonstrates how to set the PATH environment variable (in Bourne shell), by appending to its current setting:
% export PATH=${PATH}:/usr/local/search-core/bin
In addition, the shell scripts require that the JAVA_HOME environment variable be set to the appropriate location of the Java installation on the local machine. The following command demonstrates how to set the JAVA_HOME environment variable:
% export JAVA_HOME=/path/to/java/home
The system administrator for the local machine may need to be consulted for this location. The path specified should have a bin sub-directory that contains the java executable. This variable may also be defined within the scripts. Edit the scripts (files without the .bat extension) and change the line in the example above to represent the local Java installation.
This section details the environment setup for Windows machines. The binary distribution includes a couple batch scripts that must be executed from the command-line. Setting the PATH environment variable to the location of the files, enables the batch scripts to be executed from any location on the local machine.
The following command demonstrates how to set the PATH environment variable, by appending to its current setting:
C:\> set PATH = %PATH%;C:\Program Files\search-core-1.10.0\bin
In addition, the batch scripts require that the JAVA_HOME environment variable be set to the appropriate location of the Java installation on the local machine. The following command demonstrates how to set the JAVA_HOME environment variable:
C:\> set JAVA_HOME = C:\path\to\java\home
The system administrator for the local machine may need to be consulted for this location. The path specified should have a bin sub-directory that contains the java executable. This variable may also be defined within the scripts. Edit the scripts (files with the .bat extension) and change the line in the example above to represent the local Java installation. Additional methods for setting Windows environment variables can be found in the Windows System Properties document.
Both the shell and batch scripts for this software utilize system commands for determining the installation home directory that may or may not be available on all platforms. If these commands are not available in the current environment, their use can be replaced in the scripts by setting the SEARCH_CORE_HOME variable with the actual installation path. Modify the UNIX-based shell scripts as follows (the actual installation path may be different in the current environment):
SCRIPT_DIR=`dirname $0` SEARCH_CORE_HOME=`cd ${SCRIPT_DIR}/.. && pwd` should be replaced with: SEARCH_CORE_HOME=/usr/local/search-core
Modify the Windows-based batch scripts as follows (the actual installation path may be different in the current environment):
set SCRIPT_DIR=%~dps0 set SEARCH_CORE_HOME=%SCRIPT_DIR%.. should be replaced with: set SEARCH_CORE_HOME=C:\Program Files\search-core-1.10.0
After installing both the Search Service and Search Core, it may be useful to test the installation against a small set of data, rather than the entire Registry (which can take several hours). The following procedure outlines this process:
% search-core -H /usr/local/search-service/pds -p /usr/local/search-core/conf/defaults/pds/pds4/core.properties -m 5