2015-06-10 2 views
0

Я новичок в SOLR, поэтому извините меня, если мне не хватает чего-то основного.SOLR POST файлы без расширения

Я использую SOLR 5, и я хочу отсканировать документы, у которых нет расширений. К сожалению, изменение файла с расширением не является вариантом в моем случае.

команда Я использую просто:

$bin/post -c mycore ../foldertobescaned -type application/pdf 

команда отлично работает для документов, которые действительно имеют расширение, но я получаю:

Ввод автоматический режим. Файл окончаний Рассматриваемые XML, JSON, CSV, PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX, ODT, ODP, ODS, Отт, OTP, OTS, Rtf, HTM, HTML, TXT, журнал

спасибо большое!

ответ

0

Если переименование файлов не является вариантом, вы можете использовать следующий сценарий в качестве обходного пути до тех пор, пока Solr не улучшит свой метод post. Это простой цикл bash for, который представляет каждый файл отдельно и работает независимо от расширения файла. Обратите внимание, что этот скрипт будет медленнее, чем использование сообщения во всей папке, поскольку каждая отдельная передача файла должна быть инициализирована.

Сохранить скрипт ниже как 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 
Смежные вопросы