如果重命名文件不是選項,則可以使用以下腳本作爲解決方法,直到Solr改進其後處理方法。這是一個簡單的循環bash,它可以單獨提交每個文件,並且不管文件擴展名是如何工作的。請注意,此腳本比在整個文件夾中使用post要慢,因爲每個單獨的文件傳輸都需要初始化。
保存下面爲postFolderToSolr.sh
您Solr的文件夾中(這樣Solrs bin/
文件夾是一個子目錄),使其可執行與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