ファイルの名前を変更できない場合は、Solr が post メソッドを改善するまで、次のスクリプトを回避策として使用できます。これは、各ファイルを個別に送信し、ファイル拡張子に関係なく機能する単純な bash for ループです。このスクリプトは、個々のファイル転送を初期化する必要があるため、フォルダー全体で post を使用するよりも遅くなることに注意してください。
以下のスクリプトをpostFolderToSolr.sh
Solr フォルダー内に保存し (Solrsbin/
フォルダーがサブディレクトリになるように)、実行可能にしてchmod +x postFolderToSolr.sh
から、次のように使用します。./postFolderToSolr.sh mycore /home/user1/foldertobescaned/ application/pdf
引数を使用しないか、間違った数の引数を使用すると、ヘルプとして短い使用法メッセージが出力されます。
#!/bin/bash
set -o nounset
if [ "$#" -ne 3 ]
then
echo "Post contents of a folder to Solr."
echo
echo "Usage: postFolderToSolr.sh <colletionName> </path/to/folder> <MIME>"
echo
exit 1
fi
collection=$1
inputPath=${2%/} # remove suffix / if it exists
mime=$3
for element in $inputPath"/"*; do
bin/post -c $collection -type $mime $element
done