mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
Got embedded Solr server to work
This commit is contained in:
parent
929806d37e
commit
c83c13d8dc
2032
KeywordSearch/solr/bin/autopsy-solr.cmd
Executable file
2032
KeywordSearch/solr/bin/autopsy-solr.cmd
Executable file
File diff suppressed because it is too large
Load Diff
173
KeywordSearch/solr/bin/autopsy-solr.in.cmd
Executable file
173
KeywordSearch/solr/bin/autopsy-solr.in.cmd
Executable file
@ -0,0 +1,173 @@
|
|||||||
|
@REM
|
||||||
|
@REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@REM contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@REM this work for additional information regarding copyright ownership.
|
||||||
|
@REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
@REM (the "License"); you may not use this file except in compliance with
|
||||||
|
@REM the License. You may obtain a copy of the License at
|
||||||
|
@REM
|
||||||
|
@REM http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@REM
|
||||||
|
@REM Unless required by applicable law or agreed to in writing, software
|
||||||
|
@REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@REM See the License for the specific language governing permissions and
|
||||||
|
@REM limitations under the License.
|
||||||
|
|
||||||
|
@REM @echo off
|
||||||
|
|
||||||
|
REM Settings here will override settings in existing env vars or in bin/solr. The default shipped state
|
||||||
|
REM of this file is completely commented.
|
||||||
|
|
||||||
|
REM By default the script will use JAVA_HOME to determine which java
|
||||||
|
REM to use, but you can set a specific path for Solr to use without
|
||||||
|
REM affecting other Java applications on your server/workstation.
|
||||||
|
REM set SOLR_JAVA_HOME=
|
||||||
|
|
||||||
|
REM Increase Java Min/Max Heap as needed to support your indexing / query needs
|
||||||
|
REM set SOLR_JAVA_MEM=-Xms512m -Xmx512m
|
||||||
|
|
||||||
|
REM Configure verbose GC logging:
|
||||||
|
REM For Java 8: if this is set, additional params will be added to specify the log file & rotation
|
||||||
|
REM For Java 9 or higher: GC_LOG_OPTS is currently not supported. If you set it, the startup script will exit with failure.
|
||||||
|
REM set GC_LOG_OPTS=-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime
|
||||||
|
|
||||||
|
REM Various GC settings have shown to work well for a number of common Solr workloads.
|
||||||
|
REM See solr.cmd GC_TUNE for the default list.
|
||||||
|
REM set GC_TUNE=-XX:SurvivorRatio=4
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:TargetSurvivorRatio=90
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:MaxTenuringThreshold=8
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+UseConcMarkSweepGC
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:ConcGCThreads=4
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:ParallelGCThreads=4
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+CMSScavengeBeforeRemark
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:PretenureSizeThreshold=64m
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+UseCMSInitiatingOccupancyOnly
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:CMSInitiatingOccupancyFraction=50
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:CMSMaxAbortablePrecleanTime=6000
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+CMSParallelRemarkEnabled
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+ParallelRefProcEnabled
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:-OmitStackTraceInFastThrow etc.
|
||||||
|
|
||||||
|
REM Set the ZooKeeper connection string if using an external ZooKeeper ensemble
|
||||||
|
REM e.g. host1:2181,host2:2181/chroot
|
||||||
|
REM Leave empty if not using SolrCloud
|
||||||
|
REM set ZK_HOST=
|
||||||
|
|
||||||
|
REM Set the ZooKeeper client timeout (for SolrCloud mode)
|
||||||
|
REM set ZK_CLIENT_TIMEOUT=15000
|
||||||
|
|
||||||
|
REM By default the start script uses "localhost"; override the hostname here
|
||||||
|
REM for production SolrCloud environments to control the hostname exposed to cluster state
|
||||||
|
REM set SOLR_HOST=192.168.1.1
|
||||||
|
|
||||||
|
REM By default Solr will try to connect to Zookeeper with 30 seconds in timeout; override the timeout if needed
|
||||||
|
REM set SOLR_WAIT_FOR_ZK=30
|
||||||
|
|
||||||
|
REM By default the start script uses UTC; override the timezone if needed
|
||||||
|
REM set SOLR_TIMEZONE=UTC
|
||||||
|
|
||||||
|
REM Set to true to activate the JMX RMI connector to allow remote JMX client applications
|
||||||
|
REM to monitor the JVM hosting Solr; set to "false" to disable that behavior
|
||||||
|
REM (false is recommended in production environments)
|
||||||
|
REM set ENABLE_REMOTE_JMX_OPTS=false
|
||||||
|
|
||||||
|
REM The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here
|
||||||
|
REM set RMI_PORT=18983
|
||||||
|
|
||||||
|
REM Anything you add to the SOLR_OPTS variable will be included in the java
|
||||||
|
REM start command line as-is, in ADDITION to other options. If you specify the
|
||||||
|
REM -a option on start script, those options will be appended as well. Examples:
|
||||||
|
set SOLR_OPTS=%SOLR_OPTS% -Dbootstrap_confdir=../solr/configsets/AutopsyConfig/conf -Dcollection.configName=AutopsyConfig -Dsolr.default.confdir=../solr/configsets/AutopsyConfig/conf
|
||||||
|
|
||||||
|
REM Path to a directory for Solr to store cores and their data. By default, Solr will use server\solr
|
||||||
|
REM If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml
|
||||||
|
REM set SOLR_HOME=
|
||||||
|
|
||||||
|
REM Path to a directory that Solr will use as root for data folders for each core.
|
||||||
|
REM If not set, defaults to <instance_dir>/data. Overridable per core through 'dataDir' core property
|
||||||
|
REM set SOLR_DATA_HOME=
|
||||||
|
|
||||||
|
REM Changes the logging level. Valid values: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Default is INFO
|
||||||
|
REM This is an alternative to changing the rootLogger in log4j2.xml
|
||||||
|
REM set SOLR_LOG_LEVEL=INFO
|
||||||
|
|
||||||
|
REM Location where Solr should write logs to. Absolute or relative to solr start dir
|
||||||
|
REM set SOLR_LOGS_DIR=logs
|
||||||
|
|
||||||
|
REM Enables log rotation before starting Solr. Setting SOLR_LOG_PRESTART_ROTATION=true will let Solr take care of pre
|
||||||
|
REM start rotation of logs. This is false by default as log4j2 handles this for us. If you choose to use another log
|
||||||
|
REM framework that cannot do startup rotation, you may want to enable this to let Solr rotate logs on startup.
|
||||||
|
REM set SOLR_LOG_PRESTART_ROTATION=false
|
||||||
|
|
||||||
|
REM Set the host interface to listen on. Jetty will listen on all interfaces (0.0.0.0) by default.
|
||||||
|
REM This must be an IPv4 ("a.b.c.d") or bracketed IPv6 ("[x::y]") address, not a hostname!
|
||||||
|
REM set SOLR_JETTY_HOST=0.0.0.0
|
||||||
|
|
||||||
|
REM Sets the port Solr binds to, default is 8983
|
||||||
|
REM set SOLR_PORT=8983
|
||||||
|
|
||||||
|
REM Enables HTTPS. It is implictly true if you set SOLR_SSL_KEY_STORE. Use this config
|
||||||
|
REM to enable https module with custom jetty configuration.
|
||||||
|
REM set SOLR_SSL_ENABLED=true
|
||||||
|
REM Uncomment to set SSL-related system properties
|
||||||
|
REM Be sure to update the paths to the correct keystore for your environment
|
||||||
|
REM set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
REM set SOLR_SSL_KEY_STORE_PASSWORD=secret
|
||||||
|
REM set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
REM set SOLR_SSL_TRUST_STORE_PASSWORD=secret
|
||||||
|
REM Require clients to authenticate
|
||||||
|
REM set SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
|
REM Enable clients to authenticate (but not require)
|
||||||
|
REM set SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
|
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
|
REM set SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
REM Override Key/Trust Store types if necessary
|
||||||
|
REM set SOLR_SSL_KEY_STORE_TYPE=JKS
|
||||||
|
REM set SOLR_SSL_TRUST_STORE_TYPE=JKS
|
||||||
|
|
||||||
|
REM Uncomment if you want to override previously defined SSL values for HTTP client
|
||||||
|
REM otherwise keep them commented and the above values will automatically be set for HTTP clients
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE=
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE_PASSWORD=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD=
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE_TYPE=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE_TYPE=
|
||||||
|
|
||||||
|
REM Sets path of Hadoop credential provider (hadoop.security.credential.provider.path property) and
|
||||||
|
REM enables usage of credential store.
|
||||||
|
REM Credential provider should store the following keys:
|
||||||
|
REM * solr.jetty.keystore.password
|
||||||
|
REM * solr.jetty.truststore.password
|
||||||
|
REM Set the two below if you want to set specific store passwords for HTTP client
|
||||||
|
REM * javax.net.ssl.keyStorePassword
|
||||||
|
REM * javax.net.ssl.trustStorePassword
|
||||||
|
REM More info: https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html
|
||||||
|
REM set SOLR_HADOOP_CREDENTIAL_PROVIDER_PATH=localjceks://file/home/solr/hadoop-credential-provider.jceks
|
||||||
|
REM set SOLR_OPTS=" -Dsolr.ssl.credential.provider.chain=hadoop"
|
||||||
|
|
||||||
|
REM Settings for authentication
|
||||||
|
REM Please configure only one of SOLR_AUTHENTICATION_CLIENT_BUILDER or SOLR_AUTH_TYPE parameters
|
||||||
|
REM set SOLR_AUTHENTICATION_CLIENT_BUILDER=org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory
|
||||||
|
REM set SOLR_AUTH_TYPE=basic
|
||||||
|
REM set SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
|
||||||
|
|
||||||
|
REM Settings for ZK ACL
|
||||||
|
REM set SOLR_ZK_CREDS_AND_ACLS=-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider ^
|
||||||
|
REM -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider ^
|
||||||
|
REM -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD ^
|
||||||
|
REM -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD
|
||||||
|
REM set SOLR_OPTS=%SOLR_OPTS% %SOLR_ZK_CREDS_AND_ACLS%
|
||||||
|
|
||||||
|
REM When running Solr in non-cloud mode and if planning to do distributed search (using the "shards" parameter), the
|
||||||
|
REM list of hosts needs to be whitelisted or Solr will forbid the request. The whitelist can be configured in solr.xml,
|
||||||
|
REM or if you are using the OOTB solr.xml, can be specified using the system property "solr.shardsWhitelist". Alternatively
|
||||||
|
REM host checking can be disabled by using the system property "solr.disable.shardsWhitelist"
|
||||||
|
REM set SOLR_OPTS="%SOLR_OPTS% -Dsolr.shardsWhitelist=http://localhost:8983,http://localhost:8984"
|
||||||
|
|
||||||
|
REM For a visual indication in the Admin UI of what type of environment this cluster is, configure
|
||||||
|
REM a -Dsolr.environment property below. Valid values are prod, stage, test, dev, with an optional
|
||||||
|
REM label or color, e.g. -Dsolr.environment=test,label=Functional+test,color=brown
|
||||||
|
REM SOLR_OPTS="$SOLR_OPTS -Dsolr.environment=prod"
|
78
KeywordSearch/solr/bin/init.d/solr
Executable file
78
KeywordSearch/solr/bin/init.d/solr
Executable file
@ -0,0 +1,78 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
### BEGIN INIT INFO
|
||||||
|
# Provides: solr
|
||||||
|
# Required-Start: $remote_fs $syslog
|
||||||
|
# Required-Stop: $remote_fs $syslog
|
||||||
|
# Default-Start: 2 3 4 5
|
||||||
|
# Default-Stop: 0 1 6
|
||||||
|
# Description: Controls Apache Solr as a Service
|
||||||
|
### END INIT INFO
|
||||||
|
|
||||||
|
# Example of a very simple *nix init script that delegates commands to the bin/solr script
|
||||||
|
# Typical usage is to do:
|
||||||
|
#
|
||||||
|
# cp bin/init.d/solr /etc/init.d/solr
|
||||||
|
# chmod 755 /etc/init.d/solr
|
||||||
|
# chown root:root /etc/init.d/solr
|
||||||
|
# update-rc.d solr defaults
|
||||||
|
# update-rc.d solr enable
|
||||||
|
|
||||||
|
# Where you extracted the Solr distribution bundle
|
||||||
|
SOLR_INSTALL_DIR="/opt/solr"
|
||||||
|
|
||||||
|
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
|
||||||
|
echo "$SOLR_INSTALL_DIR not found! Please check the SOLR_INSTALL_DIR setting in your $0 script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Path to an include file that defines environment specific settings to override default
|
||||||
|
# variables used by the bin/solr script. It's highly recommended to define this script so
|
||||||
|
# that you can keep the Solr binary files separated from live files (pid, logs, index data, etc)
|
||||||
|
# see bin/solr.in.sh for an example
|
||||||
|
SOLR_ENV="/etc/default/solr.in.sh"
|
||||||
|
|
||||||
|
if [ ! -f "$SOLR_ENV" ]; then
|
||||||
|
echo "$SOLR_ENV not found! Please check the SOLR_ENV setting in your $0 script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Specify the user to run Solr as; if not set, then Solr will run as root.
|
||||||
|
# Running Solr as root is not recommended for production environments
|
||||||
|
RUNAS="solr"
|
||||||
|
|
||||||
|
# verify the specified run as user exists
|
||||||
|
runas_uid="`id -u "$RUNAS"`"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "User $RUNAS not found! Please create the $RUNAS user before running this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
start|stop|restart|status)
|
||||||
|
SOLR_CMD="$1"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {start|stop|restart|status}"
|
||||||
|
exit
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "$RUNAS" ]; then
|
||||||
|
su -c "SOLR_INCLUDE=\"$SOLR_ENV\" \"$SOLR_INSTALL_DIR/bin/solr\" $SOLR_CMD" - "$RUNAS"
|
||||||
|
else
|
||||||
|
SOLR_INCLUDE="$SOLR_ENV" "$SOLR_INSTALL_DIR/bin/solr" "$SOLR_CMD"
|
||||||
|
fi
|
370
KeywordSearch/solr/bin/install_solr_service.sh
Executable file
370
KeywordSearch/solr/bin/install_solr_service.sh
Executable file
@ -0,0 +1,370 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
echo -e "\nERROR: This script must be run as root\n" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
print_usage() {
|
||||||
|
ERROR_MSG="$1"
|
||||||
|
|
||||||
|
if [ "$ERROR_MSG" != "" ]; then
|
||||||
|
echo -e "\nERROR: $ERROR_MSG\n" 1>&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Usage: install_solr_service.sh <path_to_solr_distribution_archive> [OPTIONS]"
|
||||||
|
echo ""
|
||||||
|
echo " The first argument to the script must be a path to a Solr distribution archive, such as solr-5.0.0.tgz"
|
||||||
|
echo " (only .tgz or .zip are supported formats for the archive)"
|
||||||
|
echo ""
|
||||||
|
echo " Supported OPTIONS include:"
|
||||||
|
echo ""
|
||||||
|
echo " -d Directory for live / writable Solr files, such as logs, pid files, and index data; defaults to /var/solr"
|
||||||
|
echo ""
|
||||||
|
echo " -i Directory to extract the Solr installation archive; defaults to /opt/"
|
||||||
|
echo " The specified path must exist prior to using this script."
|
||||||
|
echo ""
|
||||||
|
echo " -p Port Solr should bind to; default is 8983"
|
||||||
|
echo ""
|
||||||
|
echo " -s Service name; defaults to solr"
|
||||||
|
echo ""
|
||||||
|
echo " -u User to own the Solr files and run the Solr process as; defaults to solr"
|
||||||
|
echo " This script will create the specified user account if it does not exist."
|
||||||
|
echo ""
|
||||||
|
echo " -f Upgrade Solr. Overwrite symlink and init script of previous installation."
|
||||||
|
echo ""
|
||||||
|
echo " -n Do not start Solr service after install, and do not abort on missing Java"
|
||||||
|
echo ""
|
||||||
|
echo " NOTE: Must be run as the root user"
|
||||||
|
echo ""
|
||||||
|
} # end print_usage
|
||||||
|
|
||||||
|
print_error() {
|
||||||
|
echo $1
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Locate *NIX distribution by looking for match from various detection strategies
|
||||||
|
# We start with /etc/os-release, as this will also work for Docker containers
|
||||||
|
for command in "grep -E \"^NAME=\" /etc/os-release" \
|
||||||
|
"lsb_release -i" \
|
||||||
|
"cat /proc/version" \
|
||||||
|
"uname -a" ; do
|
||||||
|
distro_string=$(eval $command 2>/dev/null)
|
||||||
|
unset distro
|
||||||
|
if [[ ${distro_string,,} == *"debian"* ]]; then
|
||||||
|
distro=Debian
|
||||||
|
elif [[ ${distro_string,,} == *"red hat"* ]]; then
|
||||||
|
distro=RedHat
|
||||||
|
elif [[ ${distro_string,,} == *"centos"* ]]; then
|
||||||
|
distro=CentOS
|
||||||
|
elif [[ ${distro_string,,} == *"ubuntu"* ]]; then
|
||||||
|
distro=Ubuntu
|
||||||
|
elif [[ ${distro_string,,} == *"suse"* ]]; then
|
||||||
|
distro=SUSE
|
||||||
|
elif [[ ${distro_string,,} == *"darwin"* ]]; then
|
||||||
|
echo "Sorry, this script does not support macOS. You'll need to setup Solr as a service manually using the documentation provided in the Solr Reference Guide."
|
||||||
|
echo "You could also try installing via Homebrew (http://brew.sh/), e.g. brew install solr"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [[ $distro ]] ; then break ; fi
|
||||||
|
done
|
||||||
|
if [[ ! $distro ]] ; then
|
||||||
|
echo -e "\nERROR: Unable to auto-detect your *NIX distribution!\nYou'll need to setup Solr as a service manually using the documentation provided in the Solr Reference Guide.\n" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
print_usage "Must specify the path to the Solr installation archive, such as solr-5.0.0.tgz"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SOLR_ARCHIVE=$1
|
||||||
|
if [ ! -f "$SOLR_ARCHIVE" ]; then
|
||||||
|
print_usage "Specified Solr installation archive $SOLR_ARCHIVE not found!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# strip off path info
|
||||||
|
SOLR_INSTALL_FILE=${SOLR_ARCHIVE##*/}
|
||||||
|
is_tar=true
|
||||||
|
if [ ${SOLR_INSTALL_FILE: -4} == ".tgz" ]; then
|
||||||
|
SOLR_DIR=${SOLR_INSTALL_FILE%.tgz}
|
||||||
|
elif [ ${SOLR_INSTALL_FILE: -4} == ".zip" ]; then
|
||||||
|
SOLR_DIR=${SOLR_INSTALL_FILE%.zip}
|
||||||
|
is_tar=false
|
||||||
|
else
|
||||||
|
print_usage "Solr installation archive $SOLR_ARCHIVE is invalid, expected a .tgz or .zip file!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
SOLR_START=true
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
shift
|
||||||
|
while true; do
|
||||||
|
case $1 in
|
||||||
|
-i)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Directory path is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_EXTRACT_DIR=$2
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-d)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Directory path is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_VAR_DIR="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-u)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Username is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_USER="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-s)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Service name is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_SERVICE="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-p)
|
||||||
|
if [[ -z "$2" || "${2:0:1}" == "-" ]]; then
|
||||||
|
print_usage "Port is required when using the $1 option!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
SOLR_PORT="$2"
|
||||||
|
shift 2
|
||||||
|
;;
|
||||||
|
-f)
|
||||||
|
SOLR_UPGRADE="YES"
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-n)
|
||||||
|
SOLR_START=false
|
||||||
|
shift 1
|
||||||
|
;;
|
||||||
|
-help|-usage)
|
||||||
|
print_usage ""
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ "$1" != "" ]; then
|
||||||
|
print_usage "Unrecognized or misplaced argument: $1!"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
break # out-of-args, stop looping
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Test for availability of needed tools
|
||||||
|
if [[ $is_tar ]] ; then
|
||||||
|
tar --version &>/dev/null || print_error "Script requires the 'tar' command"
|
||||||
|
else
|
||||||
|
unzip -hh &>/dev/null || print_error "Script requires the 'unzip' command"
|
||||||
|
fi
|
||||||
|
if [[ $SOLR_START == "true" ]] ; then
|
||||||
|
service --version &>/dev/null || service --help &>/dev/null || print_error "Script requires the 'service' command"
|
||||||
|
java -version &>/dev/null || print_error "Solr requires java, please install or set JAVA_HOME properly"
|
||||||
|
fi
|
||||||
|
lsof -h &>/dev/null || echo "We recommend installing the 'lsof' command for more stable start/stop of Solr"
|
||||||
|
|
||||||
|
|
||||||
|
if [ -z "$SOLR_EXTRACT_DIR" ]; then
|
||||||
|
SOLR_EXTRACT_DIR=/opt
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$SOLR_EXTRACT_DIR" ]; then
|
||||||
|
print_usage "Installation directory $SOLR_EXTRACT_DIR not found! Please create it before running this script."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_SERVICE" ]; then
|
||||||
|
SOLR_SERVICE=solr
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_VAR_DIR" ]; then
|
||||||
|
SOLR_VAR_DIR="/var/$SOLR_SERVICE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_USER" ]; then
|
||||||
|
SOLR_USER=solr
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_PORT" ]; then
|
||||||
|
SOLR_PORT=8983
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SOLR_UPGRADE" ]; then
|
||||||
|
SOLR_UPGRADE=NO
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! "$SOLR_UPGRADE" = "YES" ]; then
|
||||||
|
if [ -f "/etc/init.d/$SOLR_SERVICE" ]; then
|
||||||
|
print_usage "/etc/init.d/$SOLR_SERVICE already exists! Perhaps Solr is already setup as a service on this host? To upgrade Solr use the -f option."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e "$SOLR_EXTRACT_DIR/$SOLR_SERVICE" ]; then
|
||||||
|
print_usage "$SOLR_EXTRACT_DIR/$SOLR_SERVICE already exists! Please move this directory / link or choose a different service name using the -s option."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# stop running instance
|
||||||
|
if [ -f "/etc/init.d/$SOLR_SERVICE" ]; then
|
||||||
|
echo -e "\nStopping Solr instance if exists ...\n"
|
||||||
|
service "$SOLR_SERVICE" stop
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create user if not exists
|
||||||
|
solr_uid="`id -u "$SOLR_USER"`"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Creating new user: $SOLR_USER"
|
||||||
|
if [ "$distro" == "RedHat" ] || [ "$distro" == "CentOS" ] ; then
|
||||||
|
adduser --system -U -m --home-dir "$SOLR_VAR_DIR" "$SOLR_USER"
|
||||||
|
elif [ "$distro" == "SUSE" ]; then
|
||||||
|
useradd --system -U -m --home-dir "$SOLR_VAR_DIR" "$SOLR_USER"
|
||||||
|
else
|
||||||
|
adduser --system --shell /bin/bash --group --disabled-password --home "$SOLR_VAR_DIR" "$SOLR_USER"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extract
|
||||||
|
SOLR_INSTALL_DIR="$SOLR_EXTRACT_DIR/$SOLR_DIR"
|
||||||
|
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
|
||||||
|
|
||||||
|
echo -e "\nExtracting $SOLR_ARCHIVE to $SOLR_EXTRACT_DIR\n"
|
||||||
|
|
||||||
|
if $is_tar ; then
|
||||||
|
tar zxf "$SOLR_ARCHIVE" -C "$SOLR_EXTRACT_DIR"
|
||||||
|
else
|
||||||
|
unzip -q "$SOLR_ARCHIVE" -d "$SOLR_EXTRACT_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "$SOLR_INSTALL_DIR" ]; then
|
||||||
|
echo -e "\nERROR: Expected directory $SOLR_INSTALL_DIR not found after extracting $SOLR_ARCHIVE ... script fails.\n" 1>&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R root: "$SOLR_INSTALL_DIR"
|
||||||
|
find "$SOLR_INSTALL_DIR" -type d -print0 | xargs -0 chmod 0755
|
||||||
|
find "$SOLR_INSTALL_DIR" -type f -print0 | xargs -0 chmod 0644
|
||||||
|
chmod -R 0755 "$SOLR_INSTALL_DIR/bin"
|
||||||
|
else
|
||||||
|
echo -e "\nWARNING: $SOLR_INSTALL_DIR already exists! Skipping extract ...\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# create a symlink for easier scripting
|
||||||
|
if [ -h "$SOLR_EXTRACT_DIR/$SOLR_SERVICE" ]; then
|
||||||
|
echo -e "\nRemoving old symlink $SOLR_EXTRACT_DIR/$SOLR_SERVICE ...\n"
|
||||||
|
rm "$SOLR_EXTRACT_DIR/$SOLR_SERVICE"
|
||||||
|
fi
|
||||||
|
if [ -e "$SOLR_EXTRACT_DIR/$SOLR_SERVICE" ]; then
|
||||||
|
echo -e "\nWARNING: $SOLR_EXTRACT_DIR/$SOLR_SERVICE is not symlink! Skipping symlink update ...\n"
|
||||||
|
else
|
||||||
|
echo -e "\nInstalling symlink $SOLR_EXTRACT_DIR/$SOLR_SERVICE -> $SOLR_INSTALL_DIR ...\n"
|
||||||
|
ln -s "$SOLR_INSTALL_DIR" "$SOLR_EXTRACT_DIR/$SOLR_SERVICE"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install init.d script
|
||||||
|
echo -e "\nInstalling /etc/init.d/$SOLR_SERVICE script ...\n"
|
||||||
|
cp "$SOLR_INSTALL_DIR/bin/init.d/solr" "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
chmod 0744 "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
chown root: "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
# do some basic variable substitution on the init.d script
|
||||||
|
sed_expr1="s#SOLR_INSTALL_DIR=.*#SOLR_INSTALL_DIR=\"$SOLR_EXTRACT_DIR/$SOLR_SERVICE\"#"
|
||||||
|
sed_expr2="s#SOLR_ENV=.*#SOLR_ENV=\"/etc/default/$SOLR_SERVICE.in.sh\"#"
|
||||||
|
sed_expr3="s#RUNAS=.*#RUNAS=\"$SOLR_USER\"#"
|
||||||
|
sed_expr4="s#Provides:.*#Provides: $SOLR_SERVICE#"
|
||||||
|
sed -i -e "$sed_expr1" -e "$sed_expr2" -e "$sed_expr3" -e "$sed_expr4" "/etc/init.d/$SOLR_SERVICE"
|
||||||
|
|
||||||
|
# install/move configuration
|
||||||
|
if [ ! -d /etc/default ]; then
|
||||||
|
mkdir /etc/default
|
||||||
|
chown root: /etc/default
|
||||||
|
chmod 0755 /etc/default
|
||||||
|
fi
|
||||||
|
if [ -f "$SOLR_VAR_DIR/solr.in.sh" ]; then
|
||||||
|
echo -e "\nMoving existing $SOLR_VAR_DIR/solr.in.sh to /etc/default/$SOLR_SERVICE.in.sh ...\n"
|
||||||
|
mv "$SOLR_VAR_DIR/solr.in.sh" "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
elif [ -f "/etc/default/$SOLR_SERVICE.in.sh" ]; then
|
||||||
|
echo -e "\n/etc/default/$SOLR_SERVICE.in.sh already exist. Skipping install ...\n"
|
||||||
|
else
|
||||||
|
echo -e "\nInstalling /etc/default/$SOLR_SERVICE.in.sh ...\n"
|
||||||
|
cp "$SOLR_INSTALL_DIR/bin/solr.in.sh" "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
mv "$SOLR_INSTALL_DIR/bin/solr.in.sh" "$SOLR_INSTALL_DIR/bin/solr.in.sh.orig"
|
||||||
|
mv "$SOLR_INSTALL_DIR/bin/solr.in.cmd" "$SOLR_INSTALL_DIR/bin/solr.in.cmd.orig"
|
||||||
|
echo "SOLR_PID_DIR=\"$SOLR_VAR_DIR\"
|
||||||
|
SOLR_HOME=\"$SOLR_VAR_DIR/data\"
|
||||||
|
LOG4J_PROPS=\"$SOLR_VAR_DIR/log4j2.xml\"
|
||||||
|
SOLR_LOGS_DIR=\"$SOLR_VAR_DIR/logs\"
|
||||||
|
SOLR_PORT=\"$SOLR_PORT\"
|
||||||
|
" >> "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
fi
|
||||||
|
chown root:${SOLR_USER} "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
chmod 0640 "/etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
|
||||||
|
# install data directories and files
|
||||||
|
mkdir -p "$SOLR_VAR_DIR/data"
|
||||||
|
mkdir -p "$SOLR_VAR_DIR/logs"
|
||||||
|
if [ -f "$SOLR_VAR_DIR/data/solr.xml" ]; then
|
||||||
|
echo -e "\n$SOLR_VAR_DIR/data/solr.xml already exists. Skipping install ...\n"
|
||||||
|
else
|
||||||
|
cp "$SOLR_INSTALL_DIR/server/solr/"{solr.xml,zoo.cfg} "$SOLR_VAR_DIR/data/"
|
||||||
|
fi
|
||||||
|
if [ -f "$SOLR_VAR_DIR/log4j2.xml" ]; then
|
||||||
|
echo -e "\n$SOLR_VAR_DIR/log4j2.xml already exists. Skipping install ...\n"
|
||||||
|
else
|
||||||
|
cp "$SOLR_INSTALL_DIR/server/resources/log4j2.xml" "$SOLR_VAR_DIR/log4j2.xml"
|
||||||
|
fi
|
||||||
|
chown -R "$SOLR_USER:" "$SOLR_VAR_DIR"
|
||||||
|
find "$SOLR_VAR_DIR" -type d -print0 | xargs -0 chmod 0750
|
||||||
|
find "$SOLR_VAR_DIR" -type f -print0 | xargs -0 chmod 0640
|
||||||
|
|
||||||
|
# configure autostart of service
|
||||||
|
if [[ "$distro" == "RedHat" || "$distro" == "CentOS" || "$distro" == "SUSE" ]]; then
|
||||||
|
chkconfig "$SOLR_SERVICE" on
|
||||||
|
else
|
||||||
|
update-rc.d "$SOLR_SERVICE" defaults
|
||||||
|
fi
|
||||||
|
echo "Service $SOLR_SERVICE installed."
|
||||||
|
echo "Customize Solr startup configuration in /etc/default/$SOLR_SERVICE.in.sh"
|
||||||
|
|
||||||
|
# start service
|
||||||
|
if [[ $SOLR_START == "true" ]] ; then
|
||||||
|
service "$SOLR_SERVICE" start
|
||||||
|
sleep 5
|
||||||
|
service "$SOLR_SERVICE" status
|
||||||
|
else
|
||||||
|
echo "Not starting Solr service (option -n given). Start manually with 'service $SOLR_SERVICE start'"
|
||||||
|
fi
|
30
KeywordSearch/solr/bin/oom_solr.sh
Executable file
30
KeywordSearch/solr/bin/oom_solr.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
SOLR_PORT=$1
|
||||||
|
SOLR_LOGS_DIR=$2
|
||||||
|
SOLR_PID=`ps auxww | grep start.jar | grep $SOLR_PORT | grep -v grep | awk '{print $2}' | sort -r`
|
||||||
|
if [ -z "$SOLR_PID" ]; then
|
||||||
|
echo "Couldn't find Solr process running on port $SOLR_PORT!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
NOW=$(date +"%F_%H_%M_%S")
|
||||||
|
(
|
||||||
|
echo "Running OOM killer script for process $SOLR_PID for Solr on port $SOLR_PORT"
|
||||||
|
kill -9 $SOLR_PID
|
||||||
|
echo "Killed process $SOLR_PID"
|
||||||
|
) | tee $SOLR_LOGS_DIR/solr_oom_killer-$SOLR_PORT-$NOW.log
|
239
KeywordSearch/solr/bin/post
Executable file
239
KeywordSearch/solr/bin/post
Executable file
@ -0,0 +1,239 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# ====== Common code copied/adapted from bin/solr (TODO: centralize/share this kind of thing across bin/solr, etc)
|
||||||
|
|
||||||
|
THIS_SCRIPT="$0"
|
||||||
|
|
||||||
|
# Resolve symlinks to this script
|
||||||
|
while [ -h "$THIS_SCRIPT" ] ; do
|
||||||
|
ls=`ls -ld "$THIS_SCRIPT"`
|
||||||
|
# Drop everything prior to ->
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
THIS_SCRIPT="$link"
|
||||||
|
else
|
||||||
|
THIS_SCRIPT=`dirname "$THIS_SCRIPT"`/"$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
SOLR_TIP=`dirname "$THIS_SCRIPT"`/..
|
||||||
|
SOLR_TIP=`cd "$SOLR_TIP"; pwd`
|
||||||
|
|
||||||
|
if [ -n "$SOLR_JAVA_HOME" ]; then
|
||||||
|
JAVA="$SOLR_JAVA_HOME/bin/java"
|
||||||
|
elif [ -n "$JAVA_HOME" ]; then
|
||||||
|
for java in "$JAVA_HOME"/bin/amd64/java "$JAVA_HOME"/bin/java; do
|
||||||
|
if [ -x "$java" ]; then
|
||||||
|
JAVA="$java"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
else
|
||||||
|
JAVA=java
|
||||||
|
fi
|
||||||
|
|
||||||
|
# test that Java exists and is executable on this server
|
||||||
|
"$JAVA" -version >/dev/null 2>&1 || { echo >&2 "Java is required to run this tool! Please install Java 8 or greater before running this script."; exit 1; }
|
||||||
|
|
||||||
|
|
||||||
|
# ===== post specific code
|
||||||
|
|
||||||
|
TOOL_JAR=("$SOLR_TIP/dist"/solr-core-*.jar)
|
||||||
|
|
||||||
|
function print_usage() {
|
||||||
|
echo ""
|
||||||
|
echo 'Usage: post -c <collection> [OPTIONS] <files|directories|urls|-d ["...",...]>'
|
||||||
|
echo " or post -help"
|
||||||
|
echo ""
|
||||||
|
echo " collection name defaults to DEFAULT_SOLR_COLLECTION if not specified"
|
||||||
|
echo ""
|
||||||
|
echo "OPTIONS"
|
||||||
|
echo "======="
|
||||||
|
echo " Solr options:"
|
||||||
|
echo " -url <base Solr update URL> (overrides collection, host, and port)"
|
||||||
|
echo " -host <host> (default: localhost)"
|
||||||
|
echo " -p or -port <port> (default: 8983)"
|
||||||
|
echo " -commit yes|no (default: yes)"
|
||||||
|
echo " -u or -user <user:pass> (sets BasicAuth credentials)"
|
||||||
|
# optimize intentionally omitted, but can be used as '-optimize yes' (default: no)
|
||||||
|
echo ""
|
||||||
|
echo " Web crawl options:"
|
||||||
|
echo " -recursive <depth> (default: 1)"
|
||||||
|
echo " -delay <seconds> (default: 10)"
|
||||||
|
echo ""
|
||||||
|
echo " Directory crawl options:"
|
||||||
|
echo " -delay <seconds> (default: 0)"
|
||||||
|
echo ""
|
||||||
|
echo " stdin/args options:"
|
||||||
|
echo " -type <content/type> (default: application/xml)"
|
||||||
|
echo ""
|
||||||
|
echo " Other options:"
|
||||||
|
echo " -filetypes <type>[,<type>,...] (default: xml,json,jsonl,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log)"
|
||||||
|
echo " -params \"<key>=<value>[&<key>=<value>...]\" (values must be URL-encoded; these pass through to Solr update request)"
|
||||||
|
echo " -out yes|no (default: no; yes outputs Solr response to console)"
|
||||||
|
echo " -format solr (sends application/json content as Solr commands to /update instead of /update/json/docs)"
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo "Examples:"
|
||||||
|
echo ""
|
||||||
|
echo "* JSON file: $THIS_SCRIPT -c wizbang events.json"
|
||||||
|
echo "* XML files: $THIS_SCRIPT -c records article*.xml"
|
||||||
|
echo "* CSV file: $THIS_SCRIPT -c signals LATEST-signals.csv"
|
||||||
|
echo "* Directory of files: $THIS_SCRIPT -c myfiles ~/Documents"
|
||||||
|
echo "* Web crawl: $THIS_SCRIPT -c gettingstarted http://lucene.apache.org/solr -recursive 1 -delay 1"
|
||||||
|
echo "* Standard input (stdin): echo '{"commit": {}}' | $THIS_SCRIPT -c my_collection -type application/json -out yes -d"
|
||||||
|
echo "* Data as string: $THIS_SCRIPT -c signals -type text/csv -out yes -d $'id,value\n1,0.47'"
|
||||||
|
echo ""
|
||||||
|
} # end print_usage
|
||||||
|
|
||||||
|
if [[ $# -eq 1 && ("$1" == "-help" || "$1" == "-h" || "$1" == "-usage") ]]; then
|
||||||
|
print_usage
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
COLLECTION="$DEFAULT_SOLR_COLLECTION"
|
||||||
|
PROPS=('-Dauto=yes')
|
||||||
|
RECURSIVE=""
|
||||||
|
FILES=()
|
||||||
|
URLS=()
|
||||||
|
ARGS=()
|
||||||
|
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
# TODO: natively handle the optional parameters to SPT
|
||||||
|
# but for now they can be specified as bin/post -c collection-name delay=5 http://lucidworks.com
|
||||||
|
|
||||||
|
if [[ -d "$1" ]]; then
|
||||||
|
# Directory
|
||||||
|
# echo "$1: DIRECTORY"
|
||||||
|
RECURSIVE=yes
|
||||||
|
FILES+=("$1")
|
||||||
|
elif [[ -f "$1" ]]; then
|
||||||
|
# File
|
||||||
|
# echo "$1: FILE"
|
||||||
|
FILES+=("$1")
|
||||||
|
elif [[ "$1" == http* ]]; then
|
||||||
|
# URL
|
||||||
|
# echo "$1: URL"
|
||||||
|
URLS+=("$1")
|
||||||
|
else
|
||||||
|
if [[ "$1" == -* ]]; then
|
||||||
|
if [[ "$1" == "-c" ]]; then
|
||||||
|
# Special case, pull out collection name
|
||||||
|
shift
|
||||||
|
COLLECTION="$1"
|
||||||
|
elif [[ "$1" == "-p" ]]; then
|
||||||
|
# -p alias for -port for convenience and compatibility with `bin/solr start`
|
||||||
|
shift
|
||||||
|
PROPS+=("-Dport=$1")
|
||||||
|
elif [[ ("$1" == "-d" || "$1" == "--data" || "$1" == "-") ]]; then
|
||||||
|
if [[ ! -t 0 ]]; then
|
||||||
|
MODE="stdin"
|
||||||
|
else
|
||||||
|
# when no stdin exists and -d specified, the rest of the arguments
|
||||||
|
# are assumed to be strings to post as-is
|
||||||
|
MODE="args"
|
||||||
|
shift
|
||||||
|
if [[ $# -gt 0 ]]; then
|
||||||
|
ARGS=("$@")
|
||||||
|
shift $#
|
||||||
|
else
|
||||||
|
# SPT needs a valid args string, useful for 'bin/post -c foo -d' to force a commit
|
||||||
|
ARGS+=("<add/>")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif [[ ("$1" == "-u" || "$1" == "-user") ]]; then
|
||||||
|
shift
|
||||||
|
PROPS+=("-Dbasicauth=$1")
|
||||||
|
else
|
||||||
|
if [[ "$1" == -D* ]] ; then
|
||||||
|
PROPS+=("$1")
|
||||||
|
if [[ "${1:2:4}" == "url=" ]]; then
|
||||||
|
SOLR_URL=${1:6}
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
key="${1:1}"
|
||||||
|
shift
|
||||||
|
# echo "$1: PROP"
|
||||||
|
PROPS+=("-D$key=$1")
|
||||||
|
if [[ "$key" == "url" ]]; then
|
||||||
|
SOLR_URL=$1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo -e "\nUnrecognized argument: $1\n"
|
||||||
|
echo -e "If this was intended to be a data file, it does not exist relative to $PWD\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check for errors
|
||||||
|
if [[ $COLLECTION == "" && $SOLR_URL == "" ]]; then
|
||||||
|
echo -e "\nCollection or URL must be specified. Use -c <collection name> or set DEFAULT_SOLR_COLLECTION in your environment, or use -url instead.\n"
|
||||||
|
echo -e "See '$THIS_SCRIPT -h' for usage instructions.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Unsupported: bin/post -c foo
|
||||||
|
if [[ ${#FILES[@]} == 0 && ${#URLS[@]} == 0 && $MODE != "stdin" && $MODE != "args" ]]; then
|
||||||
|
echo -e "\nNo files, directories, URLs, -d strings, or stdin were specified.\n"
|
||||||
|
echo -e "See '$THIS_SCRIPT -h' for usage instructions.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# SPT does not support mixing different data mode types, just files, just URLs, just stdin, or just argument strings.
|
||||||
|
# The following are unsupported constructs:
|
||||||
|
# bin/post -c foo existing_file.csv http://example.com
|
||||||
|
# echo '<xml.../>' | bin/post -c foo existing_file.csv
|
||||||
|
# bin/post -c foo existing_file.csv -d 'anything'
|
||||||
|
if [[ (${#FILES[@]} != 0 && ${#URLS[@]} != 0 && $MODE != "stdin" && $MODE != "args")
|
||||||
|
|| ((${#FILES[@]} != 0 || ${#URLS[@]} != 0) && ($MODE == "stdin" || $MODE == "args")) ]]; then
|
||||||
|
echo -e "\nCombining files/directories, URLs, stdin, or args is not supported. Post them separately.\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
PARAMS=""
|
||||||
|
|
||||||
|
# TODO: let's simplify this
|
||||||
|
if [[ $MODE != "stdin" && $MODE != "args" ]]; then
|
||||||
|
if [[ $FILES != "" ]]; then
|
||||||
|
MODE="files"
|
||||||
|
PARAMS=("${FILES[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $URLS != "" ]]; then
|
||||||
|
MODE="web"
|
||||||
|
PARAMS=("${URLS[@]}")
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
PARAMS=("${ARGS[@]}")
|
||||||
|
fi
|
||||||
|
|
||||||
|
PROPS+=("-Dc=$COLLECTION" "-Ddata=$MODE")
|
||||||
|
if [[ -n "$RECURSIVE" ]]; then
|
||||||
|
PROPS+=('-Drecursive=yes')
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$JAVA" -classpath "${TOOL_JAR[0]}" "${PROPS[@]}" org.apache.solr.util.SimplePostTool "${PARAMS[@]}"
|
||||||
|
"$JAVA" -classpath "${TOOL_JAR[0]}" "${PROPS[@]}" org.apache.solr.util.SimplePostTool "${PARAMS[@]}"
|
||||||
|
|
||||||
|
# post smoker:
|
||||||
|
# bin/post -c signals -out yes -type application/json -d '[{"id": 2, "val": 0.47}]'
|
||||||
|
# bin/post -c signals -out yes -params "wt=json" -d '<add><doc><field name="id">1</field></doc></add>'
|
2175
KeywordSearch/solr/bin/solr
Executable file
2175
KeywordSearch/solr/bin/solr
Executable file
File diff suppressed because it is too large
Load Diff
2031
KeywordSearch/solr/bin/solr.cmd
Executable file
2031
KeywordSearch/solr/bin/solr.cmd
Executable file
File diff suppressed because it is too large
Load Diff
175
KeywordSearch/solr/bin/solr.in.cmd
Executable file
175
KeywordSearch/solr/bin/solr.in.cmd
Executable file
@ -0,0 +1,175 @@
|
|||||||
|
@REM
|
||||||
|
@REM Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
@REM contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@REM this work for additional information regarding copyright ownership.
|
||||||
|
@REM The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
@REM (the "License"); you may not use this file except in compliance with
|
||||||
|
@REM the License. You may obtain a copy of the License at
|
||||||
|
@REM
|
||||||
|
@REM http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
@REM
|
||||||
|
@REM Unless required by applicable law or agreed to in writing, software
|
||||||
|
@REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
@REM See the License for the specific language governing permissions and
|
||||||
|
@REM limitations under the License.
|
||||||
|
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
REM Settings here will override settings in existing env vars or in bin/solr. The default shipped state
|
||||||
|
REM of this file is completely commented.
|
||||||
|
|
||||||
|
REM By default the script will use JAVA_HOME to determine which java
|
||||||
|
REM to use, but you can set a specific path for Solr to use without
|
||||||
|
REM affecting other Java applications on your server/workstation.
|
||||||
|
REM set SOLR_JAVA_HOME=
|
||||||
|
|
||||||
|
REM Increase Java Min/Max Heap as needed to support your indexing / query needs
|
||||||
|
REM set SOLR_JAVA_MEM=-Xms512m -Xmx512m
|
||||||
|
|
||||||
|
REM Configure verbose GC logging:
|
||||||
|
REM For Java 8: if this is set, additional params will be added to specify the log file & rotation
|
||||||
|
REM For Java 9 or higher: GC_LOG_OPTS is currently not supported. If you set it, the startup script will exit with failure.
|
||||||
|
REM set GC_LOG_OPTS=-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime
|
||||||
|
|
||||||
|
REM Various GC settings have shown to work well for a number of common Solr workloads.
|
||||||
|
REM See solr.cmd GC_TUNE for the default list.
|
||||||
|
REM set GC_TUNE=-XX:SurvivorRatio=4
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:TargetSurvivorRatio=90
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:MaxTenuringThreshold=8
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+UseConcMarkSweepGC
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:ConcGCThreads=4
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:ParallelGCThreads=4
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+CMSScavengeBeforeRemark
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:PretenureSizeThreshold=64m
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+UseCMSInitiatingOccupancyOnly
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:CMSInitiatingOccupancyFraction=50
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:CMSMaxAbortablePrecleanTime=6000
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+CMSParallelRemarkEnabled
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:+ParallelRefProcEnabled
|
||||||
|
REM set GC_TUNE=%GC_TUNE% -XX:-OmitStackTraceInFastThrow etc.
|
||||||
|
|
||||||
|
REM Set the ZooKeeper connection string if using an external ZooKeeper ensemble
|
||||||
|
REM e.g. host1:2181,host2:2181/chroot
|
||||||
|
REM Leave empty if not using SolrCloud
|
||||||
|
REM set ZK_HOST=
|
||||||
|
|
||||||
|
REM Set the ZooKeeper client timeout (for SolrCloud mode)
|
||||||
|
REM set ZK_CLIENT_TIMEOUT=15000
|
||||||
|
|
||||||
|
REM By default the start script uses "localhost"; override the hostname here
|
||||||
|
REM for production SolrCloud environments to control the hostname exposed to cluster state
|
||||||
|
REM set SOLR_HOST=192.168.1.1
|
||||||
|
|
||||||
|
REM By default Solr will try to connect to Zookeeper with 30 seconds in timeout; override the timeout if needed
|
||||||
|
REM set SOLR_WAIT_FOR_ZK=30
|
||||||
|
|
||||||
|
REM By default the start script uses UTC; override the timezone if needed
|
||||||
|
REM set SOLR_TIMEZONE=UTC
|
||||||
|
|
||||||
|
REM Set to true to activate the JMX RMI connector to allow remote JMX client applications
|
||||||
|
REM to monitor the JVM hosting Solr; set to "false" to disable that behavior
|
||||||
|
REM (false is recommended in production environments)
|
||||||
|
REM set ENABLE_REMOTE_JMX_OPTS=false
|
||||||
|
|
||||||
|
REM The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here
|
||||||
|
REM set RMI_PORT=18983
|
||||||
|
|
||||||
|
REM Anything you add to the SOLR_OPTS variable will be included in the java
|
||||||
|
REM start command line as-is, in ADDITION to other options. If you specify the
|
||||||
|
REM -a option on start script, those options will be appended as well. Examples:
|
||||||
|
set SOLR_OPTS=%SOLR_OPTS% -Dbootstrap_confdir="C:\Bitnami\solr-8.2.0-2\apache-solr\server\solr\configsets\AutopsyConfig\conf"
|
||||||
|
set SOLR_OPTS=%SOLR_OPTS% -Dcollection.configName=AutopsyConfig
|
||||||
|
set SOLR_OPTS=%SOLR_OPTS% -Dsolr.default.confdir="C:\Bitnami\solr-8.2.0-2\apache-solr\server\solr\configsets\AutopsyConfig\conf"
|
||||||
|
|
||||||
|
REM Path to a directory for Solr to store cores and their data. By default, Solr will use server\solr
|
||||||
|
REM If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml
|
||||||
|
REM set SOLR_HOME=
|
||||||
|
|
||||||
|
REM Path to a directory that Solr will use as root for data folders for each core.
|
||||||
|
REM If not set, defaults to <instance_dir>/data. Overridable per core through 'dataDir' core property
|
||||||
|
REM set SOLR_DATA_HOME=
|
||||||
|
|
||||||
|
REM Changes the logging level. Valid values: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Default is INFO
|
||||||
|
REM This is an alternative to changing the rootLogger in log4j2.xml
|
||||||
|
REM set SOLR_LOG_LEVEL=INFO
|
||||||
|
|
||||||
|
REM Location where Solr should write logs to. Absolute or relative to solr start dir
|
||||||
|
REM set SOLR_LOGS_DIR=logs
|
||||||
|
|
||||||
|
REM Enables log rotation before starting Solr. Setting SOLR_LOG_PRESTART_ROTATION=true will let Solr take care of pre
|
||||||
|
REM start rotation of logs. This is false by default as log4j2 handles this for us. If you choose to use another log
|
||||||
|
REM framework that cannot do startup rotation, you may want to enable this to let Solr rotate logs on startup.
|
||||||
|
REM set SOLR_LOG_PRESTART_ROTATION=false
|
||||||
|
|
||||||
|
REM Set the host interface to listen on. Jetty will listen on all interfaces (0.0.0.0) by default.
|
||||||
|
REM This must be an IPv4 ("a.b.c.d") or bracketed IPv6 ("[x::y]") address, not a hostname!
|
||||||
|
REM set SOLR_JETTY_HOST=0.0.0.0
|
||||||
|
|
||||||
|
REM Sets the port Solr binds to, default is 8983
|
||||||
|
REM set SOLR_PORT=8983
|
||||||
|
|
||||||
|
REM Enables HTTPS. It is implictly true if you set SOLR_SSL_KEY_STORE. Use this config
|
||||||
|
REM to enable https module with custom jetty configuration.
|
||||||
|
REM set SOLR_SSL_ENABLED=true
|
||||||
|
REM Uncomment to set SSL-related system properties
|
||||||
|
REM Be sure to update the paths to the correct keystore for your environment
|
||||||
|
REM set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
REM set SOLR_SSL_KEY_STORE_PASSWORD=secret
|
||||||
|
REM set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
REM set SOLR_SSL_TRUST_STORE_PASSWORD=secret
|
||||||
|
REM Require clients to authenticate
|
||||||
|
REM set SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
|
REM Enable clients to authenticate (but not require)
|
||||||
|
REM set SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
REM SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
|
REM this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
|
REM set SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
REM Override Key/Trust Store types if necessary
|
||||||
|
REM set SOLR_SSL_KEY_STORE_TYPE=JKS
|
||||||
|
REM set SOLR_SSL_TRUST_STORE_TYPE=JKS
|
||||||
|
|
||||||
|
REM Uncomment if you want to override previously defined SSL values for HTTP client
|
||||||
|
REM otherwise keep them commented and the above values will automatically be set for HTTP clients
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE=
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE_PASSWORD=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD=
|
||||||
|
REM set SOLR_SSL_CLIENT_KEY_STORE_TYPE=
|
||||||
|
REM set SOLR_SSL_CLIENT_TRUST_STORE_TYPE=
|
||||||
|
|
||||||
|
REM Sets path of Hadoop credential provider (hadoop.security.credential.provider.path property) and
|
||||||
|
REM enables usage of credential store.
|
||||||
|
REM Credential provider should store the following keys:
|
||||||
|
REM * solr.jetty.keystore.password
|
||||||
|
REM * solr.jetty.truststore.password
|
||||||
|
REM Set the two below if you want to set specific store passwords for HTTP client
|
||||||
|
REM * javax.net.ssl.keyStorePassword
|
||||||
|
REM * javax.net.ssl.trustStorePassword
|
||||||
|
REM More info: https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html
|
||||||
|
REM set SOLR_HADOOP_CREDENTIAL_PROVIDER_PATH=localjceks://file/home/solr/hadoop-credential-provider.jceks
|
||||||
|
REM set SOLR_OPTS=" -Dsolr.ssl.credential.provider.chain=hadoop"
|
||||||
|
|
||||||
|
REM Settings for authentication
|
||||||
|
REM Please configure only one of SOLR_AUTHENTICATION_CLIENT_BUILDER or SOLR_AUTH_TYPE parameters
|
||||||
|
REM set SOLR_AUTHENTICATION_CLIENT_BUILDER=org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory
|
||||||
|
REM set SOLR_AUTH_TYPE=basic
|
||||||
|
REM set SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
|
||||||
|
|
||||||
|
REM Settings for ZK ACL
|
||||||
|
REM set SOLR_ZK_CREDS_AND_ACLS=-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider ^
|
||||||
|
REM -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider ^
|
||||||
|
REM -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD ^
|
||||||
|
REM -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD
|
||||||
|
REM set SOLR_OPTS=%SOLR_OPTS% %SOLR_ZK_CREDS_AND_ACLS%
|
||||||
|
|
||||||
|
REM When running Solr in non-cloud mode and if planning to do distributed search (using the "shards" parameter), the
|
||||||
|
REM list of hosts needs to be whitelisted or Solr will forbid the request. The whitelist can be configured in solr.xml,
|
||||||
|
REM or if you are using the OOTB solr.xml, can be specified using the system property "solr.shardsWhitelist". Alternatively
|
||||||
|
REM host checking can be disabled by using the system property "solr.disable.shardsWhitelist"
|
||||||
|
REM set SOLR_OPTS="%SOLR_OPTS% -Dsolr.shardsWhitelist=http://localhost:8983,http://localhost:8984"
|
||||||
|
|
||||||
|
REM For a visual indication in the Admin UI of what type of environment this cluster is, configure
|
||||||
|
REM a -Dsolr.environment property below. Valid values are prod, stage, test, dev, with an optional
|
||||||
|
REM label or color, e.g. -Dsolr.environment=test,label=Functional+test,color=brown
|
||||||
|
REM SOLR_OPTS="$SOLR_OPTS -Dsolr.environment=prod"
|
203
KeywordSearch/solr/bin/solr.in.sh
Executable file
203
KeywordSearch/solr/bin/solr.in.sh
Executable file
@ -0,0 +1,203 @@
|
|||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
# Settings here will override settings in existing env vars or in bin/solr. The default shipped state
|
||||||
|
# of this file is completely commented.
|
||||||
|
|
||||||
|
# By default the script will use JAVA_HOME to determine which java
|
||||||
|
# to use, but you can set a specific path for Solr to use without
|
||||||
|
# affecting other Java applications on your server/workstation.
|
||||||
|
SOLR_JAVA_HOME="C:\Program Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.222-1"
|
||||||
|
|
||||||
|
# This controls the number of seconds that the solr script will wait for
|
||||||
|
# Solr to stop gracefully or Solr to start. If the graceful stop fails,
|
||||||
|
# the script will forcibly stop Solr. If the start fails, the script will
|
||||||
|
# give up waiting and display the last few lines of the logfile.
|
||||||
|
#SOLR_STOP_WAIT="180"
|
||||||
|
|
||||||
|
# Increase Java Heap as needed to support your indexing / query needs
|
||||||
|
#SOLR_HEAP="512m"
|
||||||
|
|
||||||
|
# Expert: If you want finer control over memory options, specify them directly
|
||||||
|
# Comment out SOLR_HEAP if you are using this though, that takes precedence
|
||||||
|
#SOLR_JAVA_MEM="-Xms512m -Xmx512m"
|
||||||
|
|
||||||
|
# Enable verbose GC logging...
|
||||||
|
# * If this is unset, various default options will be selected depending on which JVM version is in use
|
||||||
|
# * For Java 8: if this is set, additional params will be added to specify the log file & rotation
|
||||||
|
# * For Java 9 or higher: each included opt param that starts with '-Xlog:gc', but does not include an
|
||||||
|
# output specifier, will have a 'file' output specifier (as well as formatting & rollover options)
|
||||||
|
# appended, using the effective value of the SOLR_LOGS_DIR.
|
||||||
|
#
|
||||||
|
#GC_LOG_OPTS='-Xlog:gc*' # (Java 9+)
|
||||||
|
#GC_LOG_OPTS="-verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails \
|
||||||
|
# -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime"
|
||||||
|
|
||||||
|
# These GC settings have shown to work well for a number of common Solr workloads
|
||||||
|
#GC_TUNE=" \
|
||||||
|
#-XX:SurvivorRatio=4 \
|
||||||
|
#-XX:TargetSurvivorRatio=90 \
|
||||||
|
#-XX:MaxTenuringThreshold=8 \
|
||||||
|
#-XX:+UseConcMarkSweepGC \
|
||||||
|
#-XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 \
|
||||||
|
#-XX:+CMSScavengeBeforeRemark \
|
||||||
|
#-XX:PretenureSizeThreshold=64m \
|
||||||
|
#-XX:+UseCMSInitiatingOccupancyOnly \
|
||||||
|
#-XX:CMSInitiatingOccupancyFraction=50 \
|
||||||
|
#-XX:CMSMaxAbortablePrecleanTime=6000 \
|
||||||
|
#-XX:+CMSParallelRemarkEnabled \
|
||||||
|
#-XX:+ParallelRefProcEnabled \
|
||||||
|
#-XX:-OmitStackTraceInFastThrow etc.
|
||||||
|
|
||||||
|
# Set the ZooKeeper connection string if using an external ZooKeeper ensemble
|
||||||
|
# e.g. host1:2181,host2:2181/chroot
|
||||||
|
# Leave empty if not using SolrCloud
|
||||||
|
#ZK_HOST=""
|
||||||
|
|
||||||
|
# Set the ZooKeeper client timeout (for SolrCloud mode)
|
||||||
|
#ZK_CLIENT_TIMEOUT="15000"
|
||||||
|
|
||||||
|
# By default the start script uses "localhost"; override the hostname here
|
||||||
|
# for production SolrCloud environments to control the hostname exposed to cluster state
|
||||||
|
#SOLR_HOST="192.168.1.1"
|
||||||
|
|
||||||
|
# By default Solr will try to connect to Zookeeper with 30 seconds in timeout; override the timeout if needed
|
||||||
|
#SOLR_WAIT_FOR_ZK="30"
|
||||||
|
|
||||||
|
# By default the start script uses UTC; override the timezone if needed
|
||||||
|
#SOLR_TIMEZONE="UTC"
|
||||||
|
|
||||||
|
# Set to true to activate the JMX RMI connector to allow remote JMX client applications
|
||||||
|
# to monitor the JVM hosting Solr; set to "false" to disable that behavior
|
||||||
|
# (false is recommended in production environments)
|
||||||
|
ENABLE_REMOTE_JMX_OPTS="true"
|
||||||
|
|
||||||
|
# The script will use SOLR_PORT+10000 for the RMI_PORT or you can set it here
|
||||||
|
# RMI_PORT=18983
|
||||||
|
|
||||||
|
# Anything you add to the SOLR_OPTS variable will be included in the java
|
||||||
|
# start command line as-is, in ADDITION to other options. If you specify the
|
||||||
|
# -a option on start script, those options will be appended as well. Examples:
|
||||||
|
SOLR_OPTS="$SOLR_OPTS -Dcollection.configName=AutopsyConfig"
|
||||||
|
SOLR_OPTS="$SOLR_OPTS -Dbootstrap_confdir=C:\Bitnami\solr-8.2.0-2\apache-solr\server\solr\configsets\AutopsyConfig\conf"
|
||||||
|
SOLR_OPTS="$SOLR_OPTS -Dsolr.default.confdir=C:\Bitnami\solr-8.2.0-2\apache-solr\server\solr\configsets\AutopsyConfig\conf"
|
||||||
|
|
||||||
|
# Location where the bin/solr script will save PID files for running instances
|
||||||
|
# If not set, the script will create PID files in $SOLR_TIP/bin
|
||||||
|
#SOLR_PID_DIR=
|
||||||
|
|
||||||
|
# Path to a directory for Solr to store cores and their data. By default, Solr will use server/solr
|
||||||
|
# If solr.xml is not stored in ZooKeeper, this directory needs to contain solr.xml
|
||||||
|
#SOLR_HOME=
|
||||||
|
|
||||||
|
# Path to a directory that Solr will use as root for data folders for each core.
|
||||||
|
# If not set, defaults to <instance_dir>/data. Overridable per core through 'dataDir' core property
|
||||||
|
#SOLR_DATA_HOME=
|
||||||
|
|
||||||
|
# Solr provides a default Log4J configuration xml file in server/resources
|
||||||
|
# however, you may want to customize the log settings and file appender location
|
||||||
|
# so you can point the script to use a different log4j2.xml file
|
||||||
|
#LOG4J_PROPS=/var/solr/log4j2.xml
|
||||||
|
|
||||||
|
# Changes the logging level. Valid values: ALL, TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF. Default is INFO
|
||||||
|
# This is an alternative to changing the rootLogger in log4j2.xml
|
||||||
|
#SOLR_LOG_LEVEL=INFO
|
||||||
|
|
||||||
|
# Location where Solr should write logs to. Absolute or relative to solr start dir
|
||||||
|
#SOLR_LOGS_DIR=logs
|
||||||
|
|
||||||
|
# Enables log rotation before starting Solr. Setting SOLR_LOG_PRESTART_ROTATION=true will let Solr take care of pre
|
||||||
|
# start rotation of logs. This is false by default as log4j2 handles this for us. If you choose to use another log
|
||||||
|
# framework that cannot do startup rotation, you may want to enable this to let Solr rotate logs on startup.
|
||||||
|
#SOLR_LOG_PRESTART_ROTATION=false
|
||||||
|
|
||||||
|
# Sets the port Solr binds to, default is 8983
|
||||||
|
#SOLR_PORT=8983
|
||||||
|
|
||||||
|
# Enables HTTPS. It is implictly true if you set SOLR_SSL_KEY_STORE. Use this config
|
||||||
|
# to enable https module with custom jetty configuration.
|
||||||
|
#SOLR_SSL_ENABLED=true
|
||||||
|
# Uncomment to set SSL-related system properties
|
||||||
|
# Be sure to update the paths to the correct keystore for your environment
|
||||||
|
#SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
#SOLR_SSL_KEY_STORE_PASSWORD=secret
|
||||||
|
#SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
|
||||||
|
#SOLR_SSL_TRUST_STORE_PASSWORD=secret
|
||||||
|
# Require clients to authenticate
|
||||||
|
#SOLR_SSL_NEED_CLIENT_AUTH=false
|
||||||
|
# Enable clients to authenticate (but not require)
|
||||||
|
#SOLR_SSL_WANT_CLIENT_AUTH=false
|
||||||
|
# SSL Certificates contain host/ip "peer name" information that is validated by default. Setting
|
||||||
|
# this to false can be useful to disable these checks when re-using a certificate on many hosts
|
||||||
|
#SOLR_SSL_CHECK_PEER_NAME=true
|
||||||
|
# Override Key/Trust Store types if necessary
|
||||||
|
#SOLR_SSL_KEY_STORE_TYPE=JKS
|
||||||
|
#SOLR_SSL_TRUST_STORE_TYPE=JKS
|
||||||
|
|
||||||
|
# Uncomment if you want to override previously defined SSL values for HTTP client
|
||||||
|
# otherwise keep them commented and the above values will automatically be set for HTTP clients
|
||||||
|
#SOLR_SSL_CLIENT_KEY_STORE=
|
||||||
|
#SOLR_SSL_CLIENT_KEY_STORE_PASSWORD=
|
||||||
|
#SOLR_SSL_CLIENT_TRUST_STORE=
|
||||||
|
#SOLR_SSL_CLIENT_TRUST_STORE_PASSWORD=
|
||||||
|
#SOLR_SSL_CLIENT_KEY_STORE_TYPE=
|
||||||
|
#SOLR_SSL_CLIENT_TRUST_STORE_TYPE=
|
||||||
|
|
||||||
|
# Sets path of Hadoop credential provider (hadoop.security.credential.provider.path property) and
|
||||||
|
# enables usage of credential store.
|
||||||
|
# Credential provider should store the following keys:
|
||||||
|
# * solr.jetty.keystore.password
|
||||||
|
# * solr.jetty.truststore.password
|
||||||
|
# Set the two below if you want to set specific store passwords for HTTP client
|
||||||
|
# * javax.net.ssl.keyStorePassword
|
||||||
|
# * javax.net.ssl.trustStorePassword
|
||||||
|
# More info: https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/CredentialProviderAPI.html
|
||||||
|
#SOLR_HADOOP_CREDENTIAL_PROVIDER_PATH=localjceks://file/home/solr/hadoop-credential-provider.jceks
|
||||||
|
#SOLR_OPTS=" -Dsolr.ssl.credential.provider.chain=hadoop"
|
||||||
|
|
||||||
|
# Settings for authentication
|
||||||
|
# Please configure only one of SOLR_AUTHENTICATION_CLIENT_BUILDER or SOLR_AUTH_TYPE parameters
|
||||||
|
#SOLR_AUTHENTICATION_CLIENT_BUILDER="org.apache.solr.client.solrj.impl.PreemptiveBasicAuthClientBuilderFactory"
|
||||||
|
#SOLR_AUTH_TYPE="basic"
|
||||||
|
#SOLR_AUTHENTICATION_OPTS="-Dbasicauth=solr:SolrRocks"
|
||||||
|
|
||||||
|
# Settings for ZK ACL
|
||||||
|
#SOLR_ZK_CREDS_AND_ACLS="-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider \
|
||||||
|
# -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider \
|
||||||
|
# -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD \
|
||||||
|
# -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD"
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS $SOLR_ZK_CREDS_AND_ACLS"
|
||||||
|
|
||||||
|
|
||||||
|
# Settings for common system values that may cause operational imparement when system defaults are used.
|
||||||
|
# Solr can use many processes and many file handles. On modern operating systems the savings by leaving
|
||||||
|
# these settings low is minuscule, while the consequence can be Solr instability. To turn these checks off, set
|
||||||
|
# SOLR_ULIMIT_CHECKS=false either here or as part of your profile.
|
||||||
|
|
||||||
|
# Different limits can be set in solr.in.sh or your profile if you prefer as well.
|
||||||
|
#SOLR_RECOMMENDED_OPEN_FILES=
|
||||||
|
#SOLR_RECOMMENDED_MAX_PROCESSES=
|
||||||
|
#SOLR_ULIMIT_CHECKS=
|
||||||
|
|
||||||
|
# When running Solr in non-cloud mode and if planning to do distributed search (using the "shards" parameter), the
|
||||||
|
# list of hosts needs to be whitelisted or Solr will forbid the request. The whitelist can be configured in solr.xml,
|
||||||
|
# or if you are using the OOTB solr.xml, can be specified using the system property "solr.shardsWhitelist". Alternatively
|
||||||
|
# host checking can be disabled by using the system property "solr.disable.shardsWhitelist"
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS -Dsolr.shardsWhitelist=http://localhost:8983,http://localhost:8984"
|
||||||
|
|
||||||
|
# For a visual indication in the Admin UI of what type of environment this cluster is, configure
|
||||||
|
# a -Dsolr.environment property below. Valid values are prod, stage, test, dev, with an optional
|
||||||
|
# label or color, e.g. -Dsolr.environment=test,label=Functional+test,color=brown
|
||||||
|
#SOLR_OPTS="$SOLR_OPTS -Dsolr.environment=prod"
|
109
KeywordSearch/solr/server/README.txt
Executable file
109
KeywordSearch/solr/server/README.txt
Executable file
@ -0,0 +1,109 @@
|
|||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
|
||||||
|
Solr server
|
||||||
|
------------
|
||||||
|
|
||||||
|
This directory contains an instance of the Jetty Servlet container setup to
|
||||||
|
run Solr.
|
||||||
|
|
||||||
|
To run Solr:
|
||||||
|
|
||||||
|
cd $SOLR_INSTALL
|
||||||
|
bin/solr start
|
||||||
|
|
||||||
|
where $SOLR_INSTALL is the location where you extracted the Solr installation bundle.
|
||||||
|
|
||||||
|
Server directory layout
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
server/contexts
|
||||||
|
|
||||||
|
This directory contains the Jetty Web application deployment descriptor for the Solr Web app.
|
||||||
|
|
||||||
|
server/etc
|
||||||
|
|
||||||
|
Jetty configuration and example SSL keystore
|
||||||
|
|
||||||
|
server/lib
|
||||||
|
|
||||||
|
Jetty and other 3rd party libraries
|
||||||
|
|
||||||
|
server/logs
|
||||||
|
|
||||||
|
Solr log files
|
||||||
|
|
||||||
|
server/resources
|
||||||
|
|
||||||
|
Contains configuration files, such as the Log4j configuration (log4j2.xml) for configuring Solr loggers.
|
||||||
|
|
||||||
|
server/scripts/cloud-scripts
|
||||||
|
|
||||||
|
Command-line utility for working with ZooKeeper when running in SolrCloud mode, see zkcli.sh / .cmd for
|
||||||
|
usage information.
|
||||||
|
|
||||||
|
server/solr
|
||||||
|
|
||||||
|
Default solr.solr.home directory where Solr will create core directories; must contain solr.xml
|
||||||
|
|
||||||
|
server/solr/configsets
|
||||||
|
|
||||||
|
Directories containing different configuration options for running Solr.
|
||||||
|
|
||||||
|
_default : Bare minimum configurations with field-guessing and managed schema turned
|
||||||
|
on by default, so as to start indexing data in Solr without having to design
|
||||||
|
a schema upfront. You can use the REST API to manage your schema as you refine your index
|
||||||
|
requirements. You can turn off the field (for a collection, say mycollection) guessing by:
|
||||||
|
curl http://host:8983/solr/mycollection/config -d '{"set-user-property": {"update.autoCreateFields":"false"}}'
|
||||||
|
|
||||||
|
sample_techproducts_configs : Comprehensive example configuration that demonstrates many of the powerful
|
||||||
|
features of Solr, based on the use case of building a search solution for
|
||||||
|
tech products.
|
||||||
|
|
||||||
|
server/solr-webapp
|
||||||
|
|
||||||
|
Contains files used by the Solr server; do not edit files in this directory (Solr is not a Java Web application).
|
||||||
|
|
||||||
|
|
||||||
|
Notes About Solr Examples
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
* SolrHome *
|
||||||
|
|
||||||
|
By default, start.jar starts Solr in Jetty using the default Solr Home
|
||||||
|
directory of "./solr/" (relative to the working directory of the servlet
|
||||||
|
container).
|
||||||
|
|
||||||
|
* References to Jar Files Outside This Directory *
|
||||||
|
|
||||||
|
Various example SolrHome dirs contained in this directory may use "<lib>"
|
||||||
|
statements in the solrconfig.xml file to reference plugin jars outside of
|
||||||
|
this directory for loading "contrib" plugins via relative paths.
|
||||||
|
|
||||||
|
If you make a copy of this example server and wish to use the
|
||||||
|
ExtractingRequestHandler (SolrCell), DataImportHandler (DIH), the
|
||||||
|
clustering component, or any other modules in "contrib", you will need to
|
||||||
|
copy the required jars or update the paths to those jars in your
|
||||||
|
solrconfig.xml.
|
||||||
|
|
||||||
|
* Logging *
|
||||||
|
|
||||||
|
By default, Jetty & Solr will log to the console and logs/solr.log. This can
|
||||||
|
be convenient when first getting started, but eventually you will want to
|
||||||
|
log just to a file. To configure logging, edit the log4j2.xml file in
|
||||||
|
"resources".
|
||||||
|
|
||||||
|
It is also possible to setup log4j or other popular logging frameworks.
|
||||||
|
|
8
KeywordSearch/solr/server/contexts/solr-jetty-context.xml
Executable file
8
KeywordSearch/solr/server/contexts/solr-jetty-context.xml
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
|
||||||
|
<Set name="contextPath"><Property name="hostContext" default="/solr"/></Set>
|
||||||
|
<Set name="war"><Property name="jetty.base"/>/solr-webapp/webapp</Set>
|
||||||
|
<Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set>
|
||||||
|
<Set name="extractWAR">false</Set>
|
||||||
|
</Configure>
|
51
KeywordSearch/solr/server/etc/jetty-http.xml
Executable file
51
KeywordSearch/solr/server/etc/jetty-http.xml
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<!-- Configure the Jetty Server instance with an ID "Server" -->
|
||||||
|
<!-- by adding a HTTP connector. -->
|
||||||
|
<!-- This configuration must be used in conjunction with jetty.xml -->
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Add a HTTP Connector. -->
|
||||||
|
<!-- Configure an o.e.j.server.ServerConnector with a single -->
|
||||||
|
<!-- HttpConnectionFactory instance using the common httpConfig -->
|
||||||
|
<!-- instance defined in jetty.xml -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Consult the javadoc of o.e.j.server.ServerConnector and -->
|
||||||
|
<!-- o.e.j.server.HttpConnectionFactory for all configuration -->
|
||||||
|
<!-- that may be set here. -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<Call name="addConnector">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.server.ServerConnector">
|
||||||
|
<Arg name="server"><Ref refid="Server" /></Arg>
|
||||||
|
<Arg name="acceptors" type="int"><Property name="solr.jetty.http.acceptors" default="-1"/></Arg>
|
||||||
|
<Arg name="selectors" type="int"><Property name="solr.jetty.http.selectors" default="-1"/></Arg>
|
||||||
|
<Arg name="factories">
|
||||||
|
<Array type="org.eclipse.jetty.server.ConnectionFactory">
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
|
||||||
|
<Arg name="config"><Ref refid="httpConfig" /></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory">
|
||||||
|
<Arg name="config"><Ref refid="httpConfig" /></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
</Array>
|
||||||
|
</Arg>
|
||||||
|
<Set name="host"><Property name="jetty.host" /></Set>
|
||||||
|
<Set name="port"><Property name="jetty.port" default="8983" /></Set>
|
||||||
|
<Set name="idleTimeout"><Property name="solr.jetty.http.idleTimeout" default="120000"/></Set>
|
||||||
|
<Set name="soLingerTime"><Property name="solr.jetty.http.soLingerTime" default="-1"/></Set>
|
||||||
|
<Set name="acceptorPriorityDelta"><Property name="solr.jetty.http.acceptorPriorityDelta" default="0"/></Set>
|
||||||
|
<Set name="acceptQueueSize"><Property name="solr.jetty.http.acceptQueueSize" default="0"/></Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
|
||||||
|
</Configure>
|
76
KeywordSearch/solr/server/etc/jetty-https.xml
Executable file
76
KeywordSearch/solr/server/etc/jetty-https.xml
Executable file
@ -0,0 +1,76 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<!-- Configure a HTTPS connector. -->
|
||||||
|
<!-- This configuration must be used in conjunction with jetty.xml -->
|
||||||
|
<!-- and jetty-ssl.xml. -->
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
||||||
|
|
||||||
|
<Ref refid="sslContextFactory">
|
||||||
|
<Set name="CipherComparator">
|
||||||
|
<Get class="org.eclipse.jetty.http2.HTTP2Cipher" name="COMPARATOR"/>
|
||||||
|
</Set>
|
||||||
|
<Set name="useCipherSuitesOrder">true</Set>
|
||||||
|
</Ref>
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Add a HTTPS Connector. -->
|
||||||
|
<!-- Configure an o.e.j.server.ServerConnector with connection -->
|
||||||
|
<!-- factories for TLS (aka SSL) and HTTP to provide HTTPS. -->
|
||||||
|
<!-- All accepted TLS connections are wired to a HTTP connection.-->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Consult the javadoc of o.e.j.server.ServerConnector, -->
|
||||||
|
<!-- o.e.j.server.SslConnectionFactory and -->
|
||||||
|
<!-- o.e.j.server.HttpConnectionFactory for all configuration -->
|
||||||
|
<!-- that may be set here. -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<Call id="httpsConnector" name="addConnector">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.server.ServerConnector">
|
||||||
|
<Arg name="server"><Ref refid="Server" /></Arg>
|
||||||
|
<Arg name="acceptors" type="int"><Property name="solr.jetty.ssl.acceptors" default="-1"/></Arg>
|
||||||
|
<Arg name="selectors" type="int"><Property name="solr.jetty.ssl.selectors" default="-1"/></Arg>
|
||||||
|
<Arg name="factories">
|
||||||
|
<Array type="org.eclipse.jetty.server.ConnectionFactory">
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.server.SslConnectionFactory">
|
||||||
|
<Arg name="next">alpn</Arg>
|
||||||
|
<Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New id="alpn" class="org.eclipse.jetty.alpn.server.ALPNServerConnectionFactory">
|
||||||
|
<Arg name="protocols">
|
||||||
|
<Array type="java.lang.String">
|
||||||
|
<Item>h2</Item>
|
||||||
|
<Item>http/1.1</Item>
|
||||||
|
</Array>
|
||||||
|
</Arg>
|
||||||
|
<Set name="defaultProtocol">http/1.1</Set>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.http2.server.HTTP2ServerConnectionFactory">
|
||||||
|
<Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
|
||||||
|
<Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
</Array>
|
||||||
|
</Arg>
|
||||||
|
<Set name="host"><Property name="solr.jetty.host" /></Set>
|
||||||
|
<Set name="port"><Property name="solr.jetty.https.port" default="8983" /></Set>
|
||||||
|
<Set name="idleTimeout"><Property name="solr.jetty.https.timeout" default="120000"/></Set>
|
||||||
|
<Set name="soLingerTime"><Property name="solr.jetty.https.soLingerTime" default="-1"/></Set>
|
||||||
|
<Set name="acceptorPriorityDelta"><Property name="solr.jetty.ssl.acceptorPriorityDelta" default="0"/></Set>
|
||||||
|
<Set name="acceptQueueSize"><Property name="solr.jetty.https.acceptQueueSize" default="0"/></Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
|
||||||
|
</Configure>
|
69
KeywordSearch/solr/server/etc/jetty-https8.xml
Executable file
69
KeywordSearch/solr/server/etc/jetty-https8.xml
Executable file
@ -0,0 +1,69 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<!-- Configure a HTTPS connector. -->
|
||||||
|
<!-- This configuration must be used in conjunction with jetty.xml -->
|
||||||
|
<!-- and jetty-ssl.xml. -->
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Add a HTTPS Connector. -->
|
||||||
|
<!-- Configure an o.e.j.server.ServerConnector with connection -->
|
||||||
|
<!-- factories for TLS (aka SSL) and HTTP to provide HTTPS. -->
|
||||||
|
<!-- All accepted TLS connections are wired to a HTTP connection.-->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Consult the javadoc of o.e.j.server.ServerConnector, -->
|
||||||
|
<!-- o.e.j.server.SslConnectionFactory and -->
|
||||||
|
<!-- o.e.j.server.HttpConnectionFactory for all configuration -->
|
||||||
|
<!-- that may be set here. -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<Call id="httpsConnector" name="addConnector">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.server.ServerConnector">
|
||||||
|
<Arg name="server"><Ref refid="Server" /></Arg>
|
||||||
|
<Arg name="acceptors" type="int"><Property name="solr.jetty.ssl.acceptors" default="-1"/></Arg>
|
||||||
|
<Arg name="selectors" type="int"><Property name="solr.jetty.ssl.selectors" default="-1"/></Arg>
|
||||||
|
<Arg name="factories">
|
||||||
|
<Array type="org.eclipse.jetty.server.ConnectionFactory">
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.server.SslConnectionFactory">
|
||||||
|
<Arg name="next">http/1.1</Arg>
|
||||||
|
<Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New class="org.eclipse.jetty.server.HttpConnectionFactory">
|
||||||
|
<Arg name="config"><Ref refid="sslHttpConfig"/></Arg>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
</Array>
|
||||||
|
</Arg>
|
||||||
|
<Set name="host"><Property name="solr.jetty.host" /></Set>
|
||||||
|
<Set name="port"><Property name="solr.jetty.https.port" default="8983" /></Set>
|
||||||
|
<Set name="idleTimeout"><Property name="solr.jetty.https.timeout" default="120000"/></Set>
|
||||||
|
<Set name="soLingerTime"><Property name="solr.jetty.https.soLingerTime" default="-1"/></Set>
|
||||||
|
<Set name="acceptorPriorityDelta"><Property name="solr.jetty.ssl.acceptorPriorityDelta" default="0"/></Set>
|
||||||
|
<Set name="acceptQueueSize"><Property name="solr.jetty.https.acceptQueueSize" default="0"/></Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
</Configure>
|
36
KeywordSearch/solr/server/etc/jetty-ssl.xml
Executable file
36
KeywordSearch/solr/server/etc/jetty-ssl.xml
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<!-- Configure a TLS (SSL) Context Factory -->
|
||||||
|
<!-- This configuration must be used in conjunction with jetty.xml -->
|
||||||
|
<!-- and either jetty-https.xml or jetty-spdy.xml (but not both) -->
|
||||||
|
<!-- ============================================================= -->
|
||||||
|
<Configure id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
|
||||||
|
<Call class="org.apache.solr.util.configuration.SSLConfigurationsFactory" name="current">
|
||||||
|
<Get name="keyStorePassword" id="keyStorePassword"/>
|
||||||
|
<Get name="trustStorePassword" id="trustStorePassword"/>
|
||||||
|
</Call>
|
||||||
|
<Set name="KeyStorePath"><Property name="solr.jetty.keystore" default="./etc/solr-ssl.keystore.jks"/></Set>
|
||||||
|
<Set name="KeyStorePassword"><Ref refid="keyStorePassword"/></Set>
|
||||||
|
<Set name="TrustStorePath"><Property name="solr.jetty.truststore" default="./etc/solr-ssl.keystore.jks"/></Set>
|
||||||
|
<Set name="TrustStorePassword"><Ref refid="trustStorePassword"/></Set>
|
||||||
|
<Set name="NeedClientAuth"><Property name="solr.jetty.ssl.needClientAuth" default="false"/></Set>
|
||||||
|
<Set name="WantClientAuth"><Property name="solr.jetty.ssl.wantClientAuth" default="false"/></Set>
|
||||||
|
<Set name="KeyStoreType"><Property name="solr.jetty.keystore.type" default="JKS"/></Set>
|
||||||
|
<Set name="TrustStoreType"><Property name="solr.jetty.truststore.type" default="JKS"/></Set>
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Create a TLS specific HttpConfiguration based on the -->
|
||||||
|
<!-- common HttpConfiguration defined in jetty.xml -->
|
||||||
|
<!-- Add a SecureRequestCustomizer to extract certificate and -->
|
||||||
|
<!-- session information -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
|
||||||
|
<Arg><Ref refid="httpConfig"/></Arg>
|
||||||
|
<Call name="addCustomizer">
|
||||||
|
<Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg>
|
||||||
|
</Call>
|
||||||
|
</New>
|
||||||
|
|
||||||
|
</Configure>
|
221
KeywordSearch/solr/server/etc/jetty.xml
Executable file
221
KeywordSearch/solr/server/etc/jetty.xml
Executable file
@ -0,0 +1,221 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<!-- =============================================================== -->
|
||||||
|
<!-- Configure the Jetty Server -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Documentation of this file format can be found at: -->
|
||||||
|
<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- =============================================================== -->
|
||||||
|
|
||||||
|
|
||||||
|
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Configure the Server Thread Pool. -->
|
||||||
|
<!-- The server holds a common thread pool which is used by -->
|
||||||
|
<!-- default as the executor used by all connectors and servlet -->
|
||||||
|
<!-- dispatches. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Configuring a fixed thread pool is vital to controlling the -->
|
||||||
|
<!-- maximal memory footprint of the server and is a key tuning -->
|
||||||
|
<!-- parameter for tuning. In an application that rarely blocks -->
|
||||||
|
<!-- then maximal threads may be close to the number of 5*CPUs. -->
|
||||||
|
<!-- In an application that frequently blocks, then maximal -->
|
||||||
|
<!-- threads should be set as high as possible given the memory -->
|
||||||
|
<!-- available. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Consult the javadoc of o.e.j.util.thread.QueuedThreadPool -->
|
||||||
|
<!-- for all configuration that may be set here. -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<Arg name="threadpool">
|
||||||
|
<New id="threadpool" class="com.codahale.metrics.jetty9.InstrumentedQueuedThreadPool">
|
||||||
|
<Arg name="registry">
|
||||||
|
<Call id="solrJettyMetricRegistry" name="getOrCreate" class="com.codahale.metrics.SharedMetricRegistries">
|
||||||
|
<Arg>solr.jetty</Arg>
|
||||||
|
</Call>
|
||||||
|
</Arg>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
|
||||||
|
<Get name="ThreadPool">
|
||||||
|
<Set name="minThreads" type="int"><Property name="solr.jetty.threads.min" default="10"/></Set>
|
||||||
|
<Set name="maxThreads" type="int"><Property name="solr.jetty.threads.max" default="10000"/></Set>
|
||||||
|
<Set name="idleTimeout" type="int"><Property name="solr.jetty.threads.idle.timeout" default="120000"/></Set>
|
||||||
|
<Set name="stopTimeout" type="int"><Property name="solr.jetty.threads.stop.timeout" default="60000"/></Set>
|
||||||
|
<Set name="detailedDump">false</Set>
|
||||||
|
</Get>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Http Configuration. -->
|
||||||
|
<!-- This is a common configuration instance used by all -->
|
||||||
|
<!-- connectors that can carry HTTP semantics (HTTP, HTTPS, SPDY)-->
|
||||||
|
<!-- It configures the non wire protocol aspects of the HTTP -->
|
||||||
|
<!-- semantic. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- This configuration is only defined here and is used by -->
|
||||||
|
<!-- reference from the jetty-http.xml, jetty-https.xml and -->
|
||||||
|
<!-- jetty-spdy.xml configuration files which instantiate the -->
|
||||||
|
<!-- connectors. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- Consult the javadoc of o.e.j.server.HttpConfiguration -->
|
||||||
|
<!-- for all configuration that may be set here. -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">
|
||||||
|
<Set name="secureScheme">https</Set>
|
||||||
|
<Set name="securePort"><Property name="solr.jetty.secure.port" default="8443" /></Set>
|
||||||
|
<Set name="outputBufferSize"><Property name="solr.jetty.output.buffer.size" default="32768" /></Set>
|
||||||
|
<Set name="outputAggregationSize"><Property name="solr.jetty.output.aggregation.size" default="8192" /></Set>
|
||||||
|
<Set name="requestHeaderSize"><Property name="solr.jetty.request.header.size" default="8192" /></Set>
|
||||||
|
<Set name="responseHeaderSize"><Property name="solr.jetty.response.header.size" default="8192" /></Set>
|
||||||
|
<Set name="sendServerVersion"><Property name="solr.jetty.send.server.version" default="false" /></Set>
|
||||||
|
<Set name="sendDateHeader"><Property name="solr.jetty.send.date.header" default="false" /></Set>
|
||||||
|
<Set name="headerCacheSize"><Property name="solr.jetty.header.cache.size" default="512" /></Set>
|
||||||
|
<Set name="delayDispatchUntilContent"><Property name="solr.jetty.delayDispatchUntilContent" default="false"/></Set>
|
||||||
|
<!-- Uncomment to enable handling of X-Forwarded- style headers
|
||||||
|
<Call name="addCustomizer">
|
||||||
|
<Arg><New class="org.eclipse.jetty.server.ForwardedRequestCustomizer"/></Arg>
|
||||||
|
</Call>
|
||||||
|
-->
|
||||||
|
</New>
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- RewriteHandle to redirect root to Solr -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
|
||||||
|
<Set name="rewriteRequestURI">true</Set>
|
||||||
|
<Set name="rewritePathInfo">false</Set>
|
||||||
|
<Set name="originalPathAttribute">requestedPath</Set>
|
||||||
|
|
||||||
|
<Call name="addRule">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule">
|
||||||
|
<Set name="regex">^/$</Set>
|
||||||
|
<Set name="replacement">/solr/</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
<Call name="addRule">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
|
||||||
|
<Set name="pattern">/v2/*</Set>
|
||||||
|
<Set name="replacement">/solr/____v2</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
<Call name="addRule">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule">
|
||||||
|
<Set name="pattern">/api/*</Set>
|
||||||
|
<Set name="replacement">/solr/____v2</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
<Set name="handler">
|
||||||
|
<New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
|
||||||
|
<Set name="handlers">
|
||||||
|
<Array type="org.eclipse.jetty.server.Handler">
|
||||||
|
<Item>
|
||||||
|
<New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New id="InstrumentedHandler" class="com.codahale.metrics.jetty9.InstrumentedHandler">
|
||||||
|
<Arg><Ref refid="solrJettyMetricRegistry"/></Arg>
|
||||||
|
<Set name="handler">
|
||||||
|
<New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
|
||||||
|
</Set>
|
||||||
|
</New>
|
||||||
|
</Item>
|
||||||
|
<Item>
|
||||||
|
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
|
||||||
|
</Item>
|
||||||
|
</Array>
|
||||||
|
</Set>
|
||||||
|
</New>
|
||||||
|
</Set>
|
||||||
|
</New>
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Set handler Collection Structure -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<Set name="handler">
|
||||||
|
<Ref id="RewriteHandler"/>
|
||||||
|
</Set>
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- Configure Request Log -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!--
|
||||||
|
<Ref id="Handlers">
|
||||||
|
<Call name="addHandler">
|
||||||
|
<Arg>
|
||||||
|
<New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler">
|
||||||
|
<Set name="requestLog">
|
||||||
|
<New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
|
||||||
|
<Set name="filename">
|
||||||
|
logs/request.yyyy_mm_dd.log
|
||||||
|
</Set>
|
||||||
|
<Set name="filenameDateFormat">yyyy_MM_dd</Set>
|
||||||
|
<Set name="retainDays">90</Set>
|
||||||
|
<Set name="append">true</Set>
|
||||||
|
<Set name="extended">false</Set>
|
||||||
|
<Set name="logCookies">false</Set>
|
||||||
|
<Set name="LogTimeZone">UTC</Set>
|
||||||
|
</New>
|
||||||
|
</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
</Ref>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<!-- extra options -->
|
||||||
|
<!-- =========================================================== -->
|
||||||
|
<Set name="stopAtShutdown">true</Set>
|
||||||
|
<Set name="dumpAfterStart">false</Set>
|
||||||
|
<Set name="dumpBeforeStop">false</Set>
|
||||||
|
|
||||||
|
<Call name="addBean">
|
||||||
|
<Arg>
|
||||||
|
<New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
|
||||||
|
<Set name="contexts">
|
||||||
|
<Ref refid="Contexts" />
|
||||||
|
</Set>
|
||||||
|
<Call name="setContextAttribute">
|
||||||
|
<Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
|
||||||
|
<Arg>.*/servlet-api-[^/]*\.jar$</Arg>
|
||||||
|
</Call>
|
||||||
|
|
||||||
|
<Call name="addAppProvider">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
|
||||||
|
<Set name="monitoredDirName"><Property name="jetty.base" default="."/>/contexts</Set>
|
||||||
|
<Set name="scanInterval">0</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
|
||||||
|
<!-- Add a customize step to the deployment lifecycle -->
|
||||||
|
<!-- uncomment and replace DebugBinding with your extended AppLifeCycle.Binding class
|
||||||
|
<Call name="insertLifeCycleNode">
|
||||||
|
<Arg>deployed</Arg>
|
||||||
|
<Arg>starting</Arg>
|
||||||
|
<Arg>customise</Arg>
|
||||||
|
</Call>
|
||||||
|
<Call name="addLifeCycleBinding">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.deploy.bindings.DebugBinding">
|
||||||
|
<Arg>customise</Arg>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
|
||||||
|
</Configure>
|
527
KeywordSearch/solr/server/etc/webdefault.xml
Executable file
527
KeywordSearch/solr/server/etc/webdefault.xml
Executable file
@ -0,0 +1,527 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
|
||||||
|
<!-- ===================================================================== -->
|
||||||
|
<!-- This file contains the default descriptor for web applications. -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- The intent of this descriptor is to include jetty specific or common -->
|
||||||
|
<!-- configuration for all webapps. If a context has a webdefault.xml -->
|
||||||
|
<!-- descriptor, it is applied before the contexts own web.xml file -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- A context may be assigned a default descriptor by: -->
|
||||||
|
<!-- + Calling WebApplicationContext.setDefaultsDescriptor -->
|
||||||
|
<!-- + Passed an arg to addWebApplications -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- This file is used both as the resource within the jetty.jar (which is -->
|
||||||
|
<!-- used as the default if no explicit defaults descriptor is set) and it -->
|
||||||
|
<!-- is copied to the etc directory of the Jetty distro and explicitly -->
|
||||||
|
<!-- by the jetty.xml file. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- ===================================================================== -->
|
||||||
|
<web-app
|
||||||
|
xmlns="http://java.sun.com/xml/ns/javaee"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
|
||||||
|
metadata-complete="true"
|
||||||
|
version="2.5"
|
||||||
|
>
|
||||||
|
|
||||||
|
<description>
|
||||||
|
Default web.xml file.
|
||||||
|
This file is applied to a Web application before its own WEB_INF/web.xml file
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- Removes static references to beans from javax.el.BeanELResolver to -->
|
||||||
|
<!-- ensure webapp classloader can be released on undeploy -->
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<listener>
|
||||||
|
<listener-class>org.eclipse.jetty.servlet.listener.ELContextCleaner</listener-class>
|
||||||
|
</listener>
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- Removes static cache of Methods from java.beans.Introspector to -->
|
||||||
|
<!-- ensure webapp classloader can be released on undeploy -->
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<listener>
|
||||||
|
<listener-class>org.eclipse.jetty.servlet.listener.IntrospectorCleaner</listener-class>
|
||||||
|
</listener>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- Context params to control Session Cookies -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!--
|
||||||
|
UNCOMMENT TO ACTIVATE <context-param> <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name> <param-value>127.0.0.1</param-value> </context-param> <context-param>
|
||||||
|
<param-name>org.eclipse.jetty.servlet.SessionPath</param-name> <param-value>/</param-value> </context-param> <context-param> <param-name>org.eclipse.jetty.servlet.MaxAge</param-name>
|
||||||
|
<param-value>-1</param-value> </context-param>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- The default servlet. -->
|
||||||
|
<!-- This servlet, normally mapped to /, provides the handling for static -->
|
||||||
|
<!-- content, OPTIONS and TRACE methods for the context. -->
|
||||||
|
<!-- The following initParameters are supported: -->
|
||||||
|
<!--
|
||||||
|
* acceptRanges If true, range requests and responses are
|
||||||
|
* supported
|
||||||
|
*
|
||||||
|
* dirAllowed If true, directory listings are returned if no
|
||||||
|
* welcome file is found. Else 403 Forbidden.
|
||||||
|
*
|
||||||
|
* welcomeServlets If true, attempt to dispatch to welcome files
|
||||||
|
* that are servlets, but only after no matching static
|
||||||
|
* resources could be found. If false, then a welcome
|
||||||
|
* file must exist on disk. If "exact", then exact
|
||||||
|
* servlet matches are supported without an existing file.
|
||||||
|
* Default is true.
|
||||||
|
*
|
||||||
|
* This must be false if you want directory listings,
|
||||||
|
* but have index.jsp in your welcome file list.
|
||||||
|
*
|
||||||
|
* redirectWelcome If true, welcome files are redirected rather than
|
||||||
|
* forwarded to.
|
||||||
|
*
|
||||||
|
* gzip If set to true, then static content will be served as
|
||||||
|
* gzip content encoded if a matching resource is
|
||||||
|
* found ending with ".gz"
|
||||||
|
*
|
||||||
|
* resourceBase Set to replace the context resource base
|
||||||
|
*
|
||||||
|
* resourceCache If set, this is a context attribute name, which the servlet
|
||||||
|
* will use to look for a shared ResourceCache instance.
|
||||||
|
*
|
||||||
|
* relativeResourceBase
|
||||||
|
* Set with a pathname relative to the base of the
|
||||||
|
* servlet context root. Useful for only serving static content out
|
||||||
|
* of only specific subdirectories.
|
||||||
|
*
|
||||||
|
* aliases If True, aliases of resources are allowed (eg. symbolic
|
||||||
|
* links and caps variations). May bypass security constraints.
|
||||||
|
*
|
||||||
|
* maxCacheSize The maximum total size of the cache or 0 for no cache.
|
||||||
|
* maxCachedFileSize The maximum size of a file to cache
|
||||||
|
* maxCachedFiles The maximum number of files to cache
|
||||||
|
*
|
||||||
|
* useFileMappedBuffer
|
||||||
|
* If set to true, it will use mapped file buffer to serve static content
|
||||||
|
* when using NIO connector. Setting this value to false means that
|
||||||
|
* a direct buffer will be used instead of a mapped file buffer.
|
||||||
|
* By default, this is set to true.
|
||||||
|
*
|
||||||
|
* cacheControl If set, all static content will have this value set as the cache-control
|
||||||
|
* header.
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<servlet>
|
||||||
|
<servlet-name>default</servlet-name>
|
||||||
|
<servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>aliases</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>acceptRanges</param-name>
|
||||||
|
<param-value>true</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>dirAllowed</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>welcomeServlets</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>redirectWelcome</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>maxCacheSize</param-name>
|
||||||
|
<param-value>256000000</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>maxCachedFileSize</param-name>
|
||||||
|
<param-value>200000000</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>maxCachedFiles</param-name>
|
||||||
|
<param-value>2048</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>gzip</param-name>
|
||||||
|
<param-value>true</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>useFileMappedBuffer</param-name>
|
||||||
|
<param-value>true</param-value>
|
||||||
|
</init-param>
|
||||||
|
<!--
|
||||||
|
<init-param>
|
||||||
|
<param-name>resourceCache</param-name>
|
||||||
|
<param-value>resourceCache</param-value>
|
||||||
|
</init-param>
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
<init-param>
|
||||||
|
<param-name>cacheControl</param-name>
|
||||||
|
<param-value>max-age=3600,public</param-value>
|
||||||
|
</init-param>
|
||||||
|
-->
|
||||||
|
<load-on-startup>0</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>default</servlet-name>
|
||||||
|
<url-pattern>/</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- JSP Servlet -->
|
||||||
|
<!-- This is the jasper JSP servlet from the jakarta project -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- The JSP page compiler and execution servlet, which is the mechanism -->
|
||||||
|
<!-- used by Glassfish to support JSP pages. Traditionally, this servlet -->
|
||||||
|
<!-- is mapped to URL patterh "*.jsp". This servlet supports the -->
|
||||||
|
<!-- following initialization parameters (default values are in square -->
|
||||||
|
<!-- brackets): -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- checkInterval If development is false and reloading is true, -->
|
||||||
|
<!-- background compiles are enabled. checkInterval -->
|
||||||
|
<!-- is the time in seconds between checks to see -->
|
||||||
|
<!-- if a JSP page needs to be recompiled. [300] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- compiler Which compiler Ant should use to compile JSP -->
|
||||||
|
<!-- pages. See the Ant documenation for more -->
|
||||||
|
<!-- information. [javac] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- classdebuginfo Should the class file be compiled with -->
|
||||||
|
<!-- debugging information? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- classpath What class path should I use while compiling -->
|
||||||
|
<!-- generated servlets? [Created dynamically -->
|
||||||
|
<!-- based on the current web application] -->
|
||||||
|
<!-- Set to ? to make the container explicitly set -->
|
||||||
|
<!-- this parameter. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- development Is Jasper used in development mode (will check -->
|
||||||
|
<!-- for JSP modification on every access)? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- enablePooling Determines whether tag handler pooling is -->
|
||||||
|
<!-- enabled [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- fork Tell Ant to fork compiles of JSP pages so that -->
|
||||||
|
<!-- a separate JVM is used for JSP page compiles -->
|
||||||
|
<!-- from the one Tomcat is running in. [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- ieClassId The class-id value to be sent to Internet -->
|
||||||
|
<!-- Explorer when using <jsp:plugin> tags. -->
|
||||||
|
<!-- [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- javaEncoding Java file encoding to use for generating java -->
|
||||||
|
<!-- source files. [UTF-8] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- keepgenerated Should we keep the generated Java source code -->
|
||||||
|
<!-- for each page instead of deleting it? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- logVerbosityLevel The level of detailed messages to be produced -->
|
||||||
|
<!-- by this servlet. Increasing levels cause the -->
|
||||||
|
<!-- generation of more messages. Valid values are -->
|
||||||
|
<!-- FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
|
||||||
|
<!-- [WARNING] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- mappedfile Should we generate static content with one -->
|
||||||
|
<!-- print statement per input line, to ease -->
|
||||||
|
<!-- debugging? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- reloading Should Jasper check for modified JSPs? [true] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- suppressSmap Should the generation of SMAP info for JSR45 -->
|
||||||
|
<!-- debugging be suppressed? [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- dumpSmap Should the SMAP info for JSR45 debugging be -->
|
||||||
|
<!-- dumped to a file? [false] -->
|
||||||
|
<!-- False if suppressSmap is true -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- scratchdir What scratch directory should we use when -->
|
||||||
|
<!-- compiling JSP pages? [default work directory -->
|
||||||
|
<!-- for the current web application] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- tagpoolMaxSize The maximum tag handler pool size [5] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- xpoweredBy Determines whether X-Powered-By response -->
|
||||||
|
<!-- header is added by generated servlet [false] -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- If you wish to use Jikes to compile JSP pages: -->
|
||||||
|
<!-- Set the init parameter "compiler" to "jikes". Define -->
|
||||||
|
<!-- the property "-Dbuild.compiler.emacs=true" when starting Jetty -->
|
||||||
|
<!-- to cause Jikes to emit error messages in a format compatible with -->
|
||||||
|
<!-- Jasper. -->
|
||||||
|
<!-- If you get an error reporting that jikes can't use UTF-8 encoding, -->
|
||||||
|
<!-- try setting the init parameter "javaEncoding" to "ISO-8859-1". -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<servlet
|
||||||
|
id="jsp"
|
||||||
|
>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
|
||||||
|
<init-param>
|
||||||
|
<param-name>logVerbosityLevel</param-name>
|
||||||
|
<param-value>DEBUG</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>fork</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<init-param>
|
||||||
|
<param-name>xpoweredBy</param-name>
|
||||||
|
<param-value>false</param-value>
|
||||||
|
</init-param>
|
||||||
|
<!--
|
||||||
|
<init-param>
|
||||||
|
<param-name>classpath</param-name>
|
||||||
|
<param-value>?</param-value>
|
||||||
|
</init-param>
|
||||||
|
-->
|
||||||
|
<load-on-startup>0</load-on-startup>
|
||||||
|
</servlet>
|
||||||
|
|
||||||
|
<servlet-mapping>
|
||||||
|
<servlet-name>jsp</servlet-name>
|
||||||
|
<url-pattern>*.jsp</url-pattern>
|
||||||
|
<url-pattern>*.jspf</url-pattern>
|
||||||
|
<url-pattern>*.jspx</url-pattern>
|
||||||
|
<url-pattern>*.xsp</url-pattern>
|
||||||
|
<url-pattern>*.JSP</url-pattern>
|
||||||
|
<url-pattern>*.JSPF</url-pattern>
|
||||||
|
<url-pattern>*.JSPX</url-pattern>
|
||||||
|
<url-pattern>*.XSP</url-pattern>
|
||||||
|
</servlet-mapping>
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- Dynamic Servlet Invoker. -->
|
||||||
|
<!-- This servlet invokes anonymous servlets that have not been defined -->
|
||||||
|
<!-- in the web.xml or by other means. The first element of the pathInfo -->
|
||||||
|
<!-- of a request passed to the envoker is treated as a servlet name for -->
|
||||||
|
<!-- an existing servlet, or as a class name of a new servlet. -->
|
||||||
|
<!-- This servlet is normally mapped to /servlet/* -->
|
||||||
|
<!-- This servlet support the following initParams: -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- nonContextServlets If false, the invoker can only load -->
|
||||||
|
<!-- servlets from the contexts classloader. -->
|
||||||
|
<!-- This is false by default and setting this -->
|
||||||
|
<!-- to true may have security implications. -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- verbose If true, log dynamic loads -->
|
||||||
|
<!-- -->
|
||||||
|
<!-- * All other parameters are copied to the -->
|
||||||
|
<!-- each dynamic servlet as init parameters -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!--
|
||||||
|
Uncomment for dynamic invocation <servlet> <servlet-name>invoker</servlet-name> <servlet-class>org.eclipse.jetty.servlet.Invoker</servlet-class> <init-param> <param-name>verbose</param-name>
|
||||||
|
<param-value>false</param-value> </init-param> <init-param> <param-name>nonContextServlets</param-name> <param-value>false</param-value> </init-param> <init-param>
|
||||||
|
<param-name>dynamicParam</param-name> <param-value>anyValue</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>invoker</servlet-name>
|
||||||
|
<url-pattern>/servlet/*</url-pattern> </servlet-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<session-config>
|
||||||
|
<session-timeout>30</session-timeout>
|
||||||
|
</session-config>
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<!-- Default MIME mappings -->
|
||||||
|
<!-- The default MIME mappings are provided by the mime.properties -->
|
||||||
|
<!-- resource in the org.eclipse.jetty.server.jar file. Additional or modified -->
|
||||||
|
<!-- mappings may be specified here -->
|
||||||
|
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
|
||||||
|
<!-- UNCOMMENT TO ACTIVATE
|
||||||
|
<mime-mapping>
|
||||||
|
<extension>mysuffix</extension>
|
||||||
|
<mime-type>mymime/type</mime-type>
|
||||||
|
</mime-mapping>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<welcome-file-list>
|
||||||
|
<welcome-file>index.html</welcome-file>
|
||||||
|
<welcome-file>index.htm</welcome-file>
|
||||||
|
<welcome-file>index.jsp</welcome-file>
|
||||||
|
</welcome-file-list>
|
||||||
|
|
||||||
|
<!-- ==================================================================== -->
|
||||||
|
<locale-encoding-mapping-list>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>ar</locale>
|
||||||
|
<encoding>ISO-8859-6</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>be</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>bg</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>ca</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>cs</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>da</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>de</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>el</locale>
|
||||||
|
<encoding>ISO-8859-7</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>en</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>es</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>et</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>fi</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>fr</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>hr</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>hu</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>is</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>it</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>iw</locale>
|
||||||
|
<encoding>ISO-8859-8</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>ja</locale>
|
||||||
|
<encoding>Shift_JIS</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>ko</locale>
|
||||||
|
<encoding>EUC-KR</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>lt</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>lv</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>mk</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>nl</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>no</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>pl</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>pt</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>ro</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>ru</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>sh</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>sk</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>sl</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>sq</locale>
|
||||||
|
<encoding>ISO-8859-2</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>sr</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>sv</locale>
|
||||||
|
<encoding>ISO-8859-1</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>tr</locale>
|
||||||
|
<encoding>ISO-8859-9</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>uk</locale>
|
||||||
|
<encoding>ISO-8859-5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>zh</locale>
|
||||||
|
<encoding>GB2312</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
<locale-encoding-mapping>
|
||||||
|
<locale>zh_TW</locale>
|
||||||
|
<encoding>Big5</encoding>
|
||||||
|
</locale-encoding-mapping>
|
||||||
|
</locale-encoding-mapping-list>
|
||||||
|
|
||||||
|
<security-constraint>
|
||||||
|
<web-resource-collection>
|
||||||
|
<web-resource-name>Disable TRACE</web-resource-name>
|
||||||
|
<url-pattern>/</url-pattern>
|
||||||
|
<http-method>TRACE</http-method>
|
||||||
|
</web-resource-collection>
|
||||||
|
<auth-constraint/>
|
||||||
|
</security-constraint>
|
||||||
|
|
||||||
|
</web-app>
|
||||||
|
|
BIN
KeywordSearch/solr/server/lib/ext/disruptor-3.4.2.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/disruptor-3.4.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/jcl-over-slf4j-1.7.24.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/jcl-over-slf4j-1.7.24.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/jul-to-slf4j-1.7.24.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/jul-to-slf4j-1.7.24.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/log4j-1.2-api-2.11.2.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/log4j-1.2-api-2.11.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/log4j-api-2.11.2.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/log4j-api-2.11.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/log4j-core-2.11.2.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/log4j-core-2.11.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/log4j-slf4j-impl-2.11.2.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/log4j-slf4j-impl-2.11.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/log4j-web-2.11.2.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/log4j-web-2.11.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/ext/slf4j-api-1.7.24.jar
Executable file
BIN
KeywordSearch/solr/server/lib/ext/slf4j-api-1.7.24.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/http2-common-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/http2-common-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/http2-hpack-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/http2-hpack-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/http2-server-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/http2-server-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/javax.servlet-api-3.1.0.jar
Executable file
BIN
KeywordSearch/solr/server/lib/javax.servlet-api-3.1.0.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-alpn-java-server-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-alpn-java-server-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-alpn-server-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-alpn-server-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-continuation-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-continuation-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-deploy-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-deploy-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-http-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-http-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-io-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-io-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-jmx-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-jmx-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-rewrite-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-rewrite-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-security-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-security-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-server-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-server-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-servlet-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-servlet-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-servlets-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-servlets-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-util-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-util-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-webapp-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-webapp-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/jetty-xml-9.4.19.v20190610.jar
Executable file
BIN
KeywordSearch/solr/server/lib/jetty-xml-9.4.19.v20190610.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/metrics-core-4.0.5.jar
Executable file
BIN
KeywordSearch/solr/server/lib/metrics-core-4.0.5.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/metrics-graphite-4.0.5.jar
Executable file
BIN
KeywordSearch/solr/server/lib/metrics-graphite-4.0.5.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/metrics-jetty9-4.0.5.jar
Executable file
BIN
KeywordSearch/solr/server/lib/metrics-jetty9-4.0.5.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/metrics-jmx-4.0.5.jar
Executable file
BIN
KeywordSearch/solr/server/lib/metrics-jmx-4.0.5.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/lib/metrics-jvm-4.0.5.jar
Executable file
BIN
KeywordSearch/solr/server/lib/metrics-jvm-4.0.5.jar
Executable file
Binary file not shown.
9
KeywordSearch/solr/server/modules/http.mod
Executable file
9
KeywordSearch/solr/server/modules/http.mod
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# Jetty HTTP Connector
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
server
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jetty-http.xml
|
9
KeywordSearch/solr/server/modules/https.mod
Executable file
9
KeywordSearch/solr/server/modules/https.mod
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# Jetty HTTPS Connector
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
ssl
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jetty-https.xml
|
9
KeywordSearch/solr/server/modules/https8.mod
Executable file
9
KeywordSearch/solr/server/modules/https8.mod
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# Jetty HTTPS Connector
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
ssl
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jetty-https8.xml
|
11
KeywordSearch/solr/server/modules/server.mod
Executable file
11
KeywordSearch/solr/server/modules/server.mod
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#
|
||||||
|
# Base Server Module
|
||||||
|
#
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
lib/*.jar
|
||||||
|
lib/ext/*.jar
|
||||||
|
resources/
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jetty.xml
|
9
KeywordSearch/solr/server/modules/ssl.mod
Executable file
9
KeywordSearch/solr/server/modules/ssl.mod
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#
|
||||||
|
# SSL Keystore module
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
server
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jetty-ssl.xml
|
1
KeywordSearch/solr/server/resources/jetty-logging.properties
Executable file
1
KeywordSearch/solr/server/resources/jetty-logging.properties
Executable file
@ -0,0 +1 @@
|
|||||||
|
org.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.Slf4jLog
|
67
KeywordSearch/solr/server/resources/log4j2-console.xml
Executable file
67
KeywordSearch/solr/server/resources/log4j2-console.xml
Executable file
@ -0,0 +1,67 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Use this file for logging exlusively to the console, useful for
|
||||||
|
some development tasks. Should not be used for production -->
|
||||||
|
<!-- Configuration for asynchronous logging -->
|
||||||
|
<Configuration>
|
||||||
|
<Appenders>
|
||||||
|
<Console name="STDERR" target="SYSTEM_ERR">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%maxLen{%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %c; %m%notEmpty{ =>%ex{short}}}{10240}%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<AsyncLogger name="org.apache.zookeeper" level="WARN"/>
|
||||||
|
<AsyncLogger name="org.apache.hadoop" level="WARN"/>
|
||||||
|
|
||||||
|
<AsyncRoot level="INFO">
|
||||||
|
<AppenderRef ref="STDERR"/>
|
||||||
|
</AsyncRoot>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Configuration for synchronous logging
|
||||||
|
there _may_ be a very small window where log messages will not be flushed
|
||||||
|
to the log file on abnormal shutdown. If even this risk is unacceptable, use
|
||||||
|
the configuration below
|
||||||
|
-->
|
||||||
|
<!--Configuration>
|
||||||
|
<Appenders>
|
||||||
|
<Console name="STDERR" target="SYSTEM_ERR">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%-5p - %d{yyyy-MM-dd HH:mm:ss.SSS}; %c; %m%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<Logger name="org.apache.zookeeper" level="WARN"/>
|
||||||
|
<Logger name="org.apache.hadoop" level="WARN"/>
|
||||||
|
|
||||||
|
<Root level="INFO">
|
||||||
|
<AppenderRef ref="STDERR"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration-->
|
||||||
|
|
142
KeywordSearch/solr/server/resources/log4j2.xml
Executable file
142
KeywordSearch/solr/server/resources/log4j2.xml
Executable file
@ -0,0 +1,142 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
this work for additional information regarding copyright ownership.
|
||||||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
(the "License"); you may not use this file except in compliance with
|
||||||
|
the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Configuration for asynchronous logging -->
|
||||||
|
<Configuration>
|
||||||
|
<Appenders>
|
||||||
|
|
||||||
|
<Console name="STDOUT" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%notEmpty{ =>%ex{short}}}{10240}%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
|
||||||
|
<RollingRandomAccessFile
|
||||||
|
name="MainLogFile"
|
||||||
|
fileName="${sys:solr.log.dir}/solr.log"
|
||||||
|
filePattern="${sys:solr.log.dir}/solr.log.%i" >
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%notEmpty{ =>%ex{short}}}{10240}%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<OnStartupTriggeringPolicy />
|
||||||
|
<SizeBasedTriggeringPolicy size="32 MB"/>
|
||||||
|
</Policies>
|
||||||
|
<DefaultRolloverStrategy max="10"/>
|
||||||
|
</RollingRandomAccessFile>
|
||||||
|
|
||||||
|
<RollingRandomAccessFile
|
||||||
|
name="SlowLogFile"
|
||||||
|
fileName="${sys:solr.log.dir}/solr_slow_requests.log"
|
||||||
|
filePattern="${sys:solr.log.dir}/solr_slow_requests.log.%i" >
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%notEmpty{ =>%ex{short}}}{10240}%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<OnStartupTriggeringPolicy />
|
||||||
|
<SizeBasedTriggeringPolicy size="32 MB"/>
|
||||||
|
</Policies>
|
||||||
|
<DefaultRolloverStrategy max="10"/>
|
||||||
|
</RollingRandomAccessFile>
|
||||||
|
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<AsyncLogger name="org.apache.hadoop" level="warn"/>
|
||||||
|
<AsyncLogger name="org.apache.solr.update.LoggingInfoStream" level="off"/>
|
||||||
|
<AsyncLogger name="org.apache.zookeeper" level="warn"/>
|
||||||
|
<AsyncLogger name="org.apache.solr.core.SolrCore.SlowRequest" level="info" additivity="false">
|
||||||
|
<AppenderRef ref="SlowLogFile"/>
|
||||||
|
</AsyncLogger>
|
||||||
|
|
||||||
|
<AsyncRoot level="info">
|
||||||
|
<AppenderRef ref="MainLogFile"/>
|
||||||
|
<AppenderRef ref="STDOUT"/>
|
||||||
|
</AsyncRoot>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration>
|
||||||
|
|
||||||
|
<!-- Configuration for synchronous logging
|
||||||
|
there _may_ be a very small window where log messages will not be flushed
|
||||||
|
to the log file on abnormal shutdown. If even this risk is unacceptable, use
|
||||||
|
the configuration below
|
||||||
|
-->
|
||||||
|
<!--Configuration>
|
||||||
|
<Appenders>
|
||||||
|
|
||||||
|
<Console name="STDOUT" target="SYSTEM_OUT">
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
</Console>
|
||||||
|
|
||||||
|
<RollingFile
|
||||||
|
name="RollingFile"
|
||||||
|
fileName="${sys:solr.log.dir}/solr.log"
|
||||||
|
filePattern="${sys:solr.log.dir}/solr.log.%i" >
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<OnStartupTriggeringPolicy />
|
||||||
|
<SizeBasedTriggeringPolicy size="32 MB"/>
|
||||||
|
</Policies>
|
||||||
|
<DefaultRolloverStrategy max="10"/>
|
||||||
|
</RollingFile>
|
||||||
|
|
||||||
|
<RollingFile
|
||||||
|
name="SlowFile"
|
||||||
|
fileName="${sys:solr.log.dir}/solr_slow_requests.log"
|
||||||
|
filePattern="${sys:solr.log.dir}/solr_slow_requests.log.%i" >
|
||||||
|
<PatternLayout>
|
||||||
|
<Pattern>
|
||||||
|
%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%n
|
||||||
|
</Pattern>
|
||||||
|
</PatternLayout>
|
||||||
|
<Policies>
|
||||||
|
<OnStartupTriggeringPolicy />
|
||||||
|
<SizeBasedTriggeringPolicy size="32 MB"/>
|
||||||
|
</Policies>
|
||||||
|
<DefaultRolloverStrategy max="10"/>
|
||||||
|
</RollingFile>
|
||||||
|
|
||||||
|
</Appenders>
|
||||||
|
<Loggers>
|
||||||
|
<Logger name="org.apache.hadoop" level="warn"/>
|
||||||
|
<Logger name="org.apache.solr.update.LoggingInfoStream" level="off"/>
|
||||||
|
<Logger name="org.apache.zookeeper" level="warn"/>
|
||||||
|
<Logger name="org.apache.solr.core.SolrCore.SlowRequest" level="info" additivity="false">
|
||||||
|
<AppenderRef ref="SlowFile"/>
|
||||||
|
</Logger>
|
||||||
|
|
||||||
|
<Root level="info">
|
||||||
|
<AppenderRef ref="RollingFile"/>
|
||||||
|
<AppenderRef ref="STDOUT"/>
|
||||||
|
</Root>
|
||||||
|
</Loggers>
|
||||||
|
</Configuration-->
|
||||||
|
|
176
KeywordSearch/solr/server/scripts/cloud-scripts/snapshotscli.sh
Executable file
176
KeywordSearch/solr/server/scripts/cloud-scripts/snapshotscli.sh
Executable file
@ -0,0 +1,176 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
run_solr_snapshot_tool() {
|
||||||
|
JVM="java"
|
||||||
|
scriptDir=$(dirname "$0")
|
||||||
|
if [ -n "$LOG4J_PROPS" ]; then
|
||||||
|
log4j_config="file:${LOG4J_PROPS}"
|
||||||
|
else
|
||||||
|
log4j_config="file:${scriptDir}/../../resources/log4j2-console.xml"
|
||||||
|
fi
|
||||||
|
PATH=${JAVA_HOME}/bin:${PATH} ${JVM} ${ZKCLI_JVM_FLAGS} -Dlog4j.configurationFile=${log4j_config} \
|
||||||
|
-classpath "${solrLibPath}" org.apache.solr.core.snapshots.SolrSnapshotsTool "$@" 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
run_solr_snapshot_tool --help
|
||||||
|
}
|
||||||
|
|
||||||
|
distcp_warning() {
|
||||||
|
echo "SOLR_USE_DISTCP environment variable is not set. \
|
||||||
|
Do you want to use hadoop distcp tool for exporting Solr collection snapshot ?"
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_options() {
|
||||||
|
OPTIND=3
|
||||||
|
while getopts ":c:d:s:z:p:r:i:" o ; do
|
||||||
|
case "${o}" in
|
||||||
|
d)
|
||||||
|
destPath=${OPTARG}
|
||||||
|
;;
|
||||||
|
s)
|
||||||
|
sourcePath=${OPTARG}
|
||||||
|
;;
|
||||||
|
c)
|
||||||
|
collectionName=${OPTARG}
|
||||||
|
;;
|
||||||
|
z)
|
||||||
|
solrZkEnsemble=${OPTARG}
|
||||||
|
;;
|
||||||
|
p)
|
||||||
|
pathPrefix=${OPTARG}
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
backupRepoName=${OPTARG}
|
||||||
|
;;
|
||||||
|
i)
|
||||||
|
aysncReqId=${OPTARG}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown option ${OPTARG}"
|
||||||
|
usage 1>&2
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare_snapshot_export() {
|
||||||
|
#Make sure to cleanup the temporary files.
|
||||||
|
scratch=$(mktemp -d -t solrsnaps.XXXXXXXXXX)
|
||||||
|
function finish {
|
||||||
|
rm -rf "${scratch}"
|
||||||
|
}
|
||||||
|
trap finish EXIT
|
||||||
|
|
||||||
|
if hdfs dfs -test -d "${destPath}" ; then
|
||||||
|
run_solr_snapshot_tool --prepare-snapshot-export "$@" -t "${scratch}"
|
||||||
|
|
||||||
|
hdfs dfs -mkdir -p "${copyListingDirPath}" > /dev/null
|
||||||
|
find "${scratch}" -type f -printf "%f\n" | while read shardId; do
|
||||||
|
echo "Copying the copy-listing for $shardId"
|
||||||
|
hdfs dfs -copyFromLocal "${scratch}/${shardId}" "${copyListingDirPath}" > /dev/null
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Directory ${destPath} does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_snapshot_files() {
|
||||||
|
copylisting_dir_path="$1"
|
||||||
|
|
||||||
|
if hdfs dfs -test -d "${copylisting_dir_path}" ; then
|
||||||
|
for shardId in $(hdfs dfs -stat "%n" "${copylisting_dir_path}/*"); do
|
||||||
|
oPath="${destPath}/${snapshotName}/snapshot.${shardId}"
|
||||||
|
echo "Copying the index files for ${shardId} to ${oPath}"
|
||||||
|
${distCpCmd} -f "${copylisting_dir_path}/${shardId}" "${oPath}" > /dev/null
|
||||||
|
done
|
||||||
|
else
|
||||||
|
echo "Directory ${copylisting_dir_path} does not exist."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
collectionName=""
|
||||||
|
solrZkEnsemble=""
|
||||||
|
pathPrefix=""
|
||||||
|
destPath=""
|
||||||
|
sourcePath=""
|
||||||
|
cmd="$1"
|
||||||
|
snapshotName="$2"
|
||||||
|
copyListingDirPath=""
|
||||||
|
distCpCmd="${SOLR_DISTCP_CMD:-hadoop distcp}"
|
||||||
|
scriptDir=$(dirname "$0")
|
||||||
|
solrLibPath="${SOLR_LIB_PATH:-${scriptDir}/../../solr-webapp/webapp/WEB-INF/lib/*:${scriptDir}/../../lib/ext/*}"
|
||||||
|
|
||||||
|
case "${cmd}" in
|
||||||
|
--create)
|
||||||
|
run_solr_snapshot_tool "$@"
|
||||||
|
;;
|
||||||
|
--delete)
|
||||||
|
run_solr_snapshot_tool "$@"
|
||||||
|
;;
|
||||||
|
--list)
|
||||||
|
run_solr_snapshot_tool "$@"
|
||||||
|
;;
|
||||||
|
--describe)
|
||||||
|
run_solr_snapshot_tool "$@"
|
||||||
|
;;
|
||||||
|
--prepare-snapshot-export)
|
||||||
|
: "${SOLR_USE_DISTCP:? $(distcp_warning)}"
|
||||||
|
|
||||||
|
parse_options "$@"
|
||||||
|
|
||||||
|
: "${destPath:? Please specify destination directory using -d option}"
|
||||||
|
|
||||||
|
copyListingDirPath="${destPath}/copylistings"
|
||||||
|
prepare_snapshot_export "${@:2}"
|
||||||
|
echo "Done. GoodBye!"
|
||||||
|
;;
|
||||||
|
--export)
|
||||||
|
if [ -z "${SOLR_USE_DISTCP}" ]; then
|
||||||
|
run_solr_snapshot_tool "$@"
|
||||||
|
echo "Done. GoodBye!"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
parse_options "$@"
|
||||||
|
|
||||||
|
: "${snapshotName:? Please specify the name of the snapshot}"
|
||||||
|
: "${destPath:? Please specify destination directory using -d option}"
|
||||||
|
|
||||||
|
if [ -n "${collectionName}" ] && [ -n "${sourcePath}" ]; then
|
||||||
|
echo "The -c and -s options can not be specified together"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${collectionName}" ] && [ -z "${sourcePath}" ]; then
|
||||||
|
echo "At least one of options (-c or -s) must be specified"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${collectionName}" ]; then
|
||||||
|
copyListingDirPath="${destPath}/${snapshotName}/copylistings"
|
||||||
|
prepare_snapshot_export "${@:2}"
|
||||||
|
copy_snapshot_files "${destPath}/${snapshotName}/copylistings"
|
||||||
|
hdfs dfs -rm -r -f -skipTrash "${destPath}/${snapshotName}/copylistings" > /dev/null
|
||||||
|
else
|
||||||
|
copy_snapshot_files "${sourcePath}/copylistings"
|
||||||
|
echo "Copying the collection meta-data to ${destPath}/${snapshotName}"
|
||||||
|
${distCpCmd} "${sourcePath}/${snapshotName}/*" "${destPath}/${snapshotName}/" > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Done. GoodBye!"
|
||||||
|
;;
|
||||||
|
--help)
|
||||||
|
usage 1>&2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown command ${cmd}"
|
||||||
|
usage 1>&2
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
25
KeywordSearch/solr/server/scripts/cloud-scripts/zkcli.bat
Executable file
25
KeywordSearch/solr/server/scripts/cloud-scripts/zkcli.bat
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
@echo off
|
||||||
|
REM You can override pass the following parameters to this script:
|
||||||
|
REM
|
||||||
|
|
||||||
|
set JVM=java
|
||||||
|
|
||||||
|
REM Find location of this script
|
||||||
|
|
||||||
|
set SDIR=%~dp0
|
||||||
|
if "%SDIR:~-1%"=="\" set SDIR=%SDIR:~0,-1%
|
||||||
|
|
||||||
|
if defined LOG4J_PROPS (
|
||||||
|
set "LOG4J_CONFIG=file:///%LOG4J_PROPS%"
|
||||||
|
) else (
|
||||||
|
set "LOG4J_CONFIG=file:///%SDIR%\..\..\resources\log4j2-console.xml"
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Settings for ZK ACL
|
||||||
|
REM set SOLR_ZK_CREDS_AND_ACLS=-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider ^
|
||||||
|
REM -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider ^
|
||||||
|
REM -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD ^
|
||||||
|
REM -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD
|
||||||
|
|
||||||
|
"%JVM%" %SOLR_ZK_CREDS_AND_ACLS% %ZKCLI_JVM_FLAGS% -Dlog4j.configurationFile="%LOG4J_CONFIG%" ^
|
||||||
|
-classpath "%SDIR%\..\..\solr-webapp\webapp\WEB-INF\lib\*;%SDIR%\..\..\lib\ext\*;%SDIR%\..\..\lib\*" org.apache.solr.cloud.ZkCLI %*
|
26
KeywordSearch/solr/server/scripts/cloud-scripts/zkcli.sh
Executable file
26
KeywordSearch/solr/server/scripts/cloud-scripts/zkcli.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# You can override pass the following parameters to this script:
|
||||||
|
#
|
||||||
|
|
||||||
|
JVM="java"
|
||||||
|
|
||||||
|
# Find location of this script
|
||||||
|
|
||||||
|
sdir="`dirname \"$0\"`"
|
||||||
|
|
||||||
|
if [ -n "$LOG4J_PROPS" ]; then
|
||||||
|
log4j_config="file:$LOG4J_PROPS"
|
||||||
|
else
|
||||||
|
log4j_config="file:$sdir/../../resources/log4j2-console.xml"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Settings for ZK ACL
|
||||||
|
#SOLR_ZK_CREDS_AND_ACLS="-DzkACLProvider=org.apache.solr.common.cloud.VMParamsAllAndReadonlyDigestZkACLProvider \
|
||||||
|
# -DzkCredentialsProvider=org.apache.solr.common.cloud.VMParamsSingleSetCredentialsDigestZkCredentialsProvider \
|
||||||
|
# -DzkDigestUsername=admin-user -DzkDigestPassword=CHANGEME-ADMIN-PASSWORD \
|
||||||
|
# -DzkDigestReadonlyUsername=readonly-user -DzkDigestReadonlyPassword=CHANGEME-READONLY-PASSWORD"
|
||||||
|
|
||||||
|
PATH=$JAVA_HOME/bin:$PATH $JVM $SOLR_ZK_CREDS_AND_ACLS $ZKCLI_JVM_FLAGS -Dlog4j.configurationFile=$log4j_config \
|
||||||
|
-classpath "$sdir/../../solr-webapp/webapp/WEB-INF/lib/*:$sdir/../../lib/ext/*:$sdir/../../lib/*" org.apache.solr.cloud.ZkCLI ${1+"$@"}
|
||||||
|
|
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-5.1.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-5.1.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-commons-5.1.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/asm-commons-5.1.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/avatica-core-1.13.0.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/avatica-core-1.13.0.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/caffeine-2.4.0.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/caffeine-2.4.0.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/calcite-core-1.18.0.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/calcite-core-1.18.0.jar
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-cli-1.2.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-cli-1.2.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-codec-1.11.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-codec-1.11.jar
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-exec-1.3.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-exec-1.3.jar
Executable file
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-io-2.5.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-io-2.5.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-lang3-3.8.1.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-lang3-3.8.1.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-math3-3.6.1.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-math3-3.6.1.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-text-1.6.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/commons-text-1.6.jar
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/disruptor-3.4.2.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/disruptor-3.4.2.jar
Executable file
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/guava-25.1-jre.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/guava-25.1-jre.jar
Executable file
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-auth-3.2.0.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-auth-3.2.0.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-common-3.2.0.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/hadoop-common-3.2.0.jar
Executable file
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/hppc-0.8.1.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/hppc-0.8.1.jar
Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/httpclient-4.5.6.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/httpclient-4.5.6.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/httpcore-4.4.10.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/httpcore-4.4.10.jar
Executable file
Binary file not shown.
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/httpmime-4.5.6.jar
Executable file
BIN
KeywordSearch/solr/server/solr-webapp/webapp/WEB-INF/lib/httpmime-4.5.6.jar
Executable file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user