0

我正在使用 SOLR 5,我想扫描没有扩展名的文档。不幸的是,在我的情况下,将文件更改为具有扩展名不是一种选择。

我使用的命令很简单:

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

该命令适用于具有扩展名的文档,但我得到:

进入自动模式。考虑的文件结尾是 xml,json,csv,pdf,doc,docx,ppt,pptx,xls,xlsx,odt,odp,ods,ott,otp,ots,rtf,htm,html,txt,log

4

1 回答 1

0

如果重命名文件不是一个选项,您可以使用以下脚本作为解决方法,直到 Solr 改进其 post 方法。这是一个简单的 bash for 循环,它单独提交每个文件,并且无论文件扩展名如何都可以工作。请注意,此脚本将比在整个文件夹上使用 post 慢,因为需要初始化每个单独的文件传输。

将下面的脚本保存在postFolderToSolr.shSolr 文件夹中(因此 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
于 2015-06-10T23:32:38.577 回答