lucene/solr/bin/post

75 lines
2.2 KiB
Plaintext
Raw Normal View History

#!/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.
# Usage:
# bin/post <collection> <file(s)|url> [<params to SimplePostTool>]
# bin/post gettingstarted http://lucidworks.com [recursive=1] [delay=1]
# bin/post tehfiles ~/Documents
# bin/post signals LATEST-signals.csv
# bin/post records article*.xml
# bin/post wizbang events.json
SPT_JAR=dist/solr-core-*.jar
COLLECTION=$1; shift
echo "Collection: " $COLLECTION
PROPS="-Dc=$COLLECTION"
PARAMS=""
# TODO: Check that $COLLECTION actually exists? How to determine if user omitted collection name as first param?
if [[ $1 == http* ]]; then
echo "WEB"
PROPS="$PROPS -Ddata=web"
PARAMS=$1; shift
else
echo "PATH"
if [[ -d $1 ]]; then
# Directory
PROPS="$PROPS -Ddata=files -Dauto -Drecursive"
PARAMS=$1; shift
else
# Not a URL or existing directory, assume file(s)
FILE=$1; shift
EXTENSION="${FILE##*.}"
PARAMS=$FILE
if [[ $EXTENSION == xml || $EXTENSION == csv || $EXTENSION == json ]]; then
# Solr /update supported type (default being application/xml).
if [[ $EXTENSION == csv ]]; then
PROPS="$PROPS -Dtype=text/csv"
fi
if [[ $EXTENSION == json ]]; then
PROPS="$PROPS -Dtype=application/json"
fi
else
PROPS="$PROPS -Dauto=yes"
fi
fi
fi
while [ $# -gt 0 ]; do
PROPS="$PROPS -D$1"
shift
done
echo java -classpath $SPT_JAR $PROPS org.apache.solr.util.SimplePostTool $PARAMS
java -classpath $SPT_JAR $PROPS org.apache.solr.util.SimplePostTool $PARAMS