#!/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 [] # 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