Indexing 如何使用solr索引单个目录中包含的大量文件?
我在一个目录中有大量纯文本文件。我想使用solr对它们进行索引。我使用了其他来源中提到的以下命令:Indexing 如何使用solr索引单个目录中包含的大量文件?,indexing,solr,lucene,Indexing,Solr,Lucene,我在一个目录中有大量纯文本文件。我想使用solr对它们进行索引。我使用了其他来源中提到的以下命令: java-Dc=test-Drecursive-Dauto-jar post.jar文件夹 但它索引了0个文件。如果我有更少的文件,那么下面的工作: java-Dc=test-Drecursive-Dauto-jar post.jar文件夹/* 但如果文件数量很大,我会出现以下错误: 参数列表太长 请注意,我正在ubuntu中运行该命令。命令行对参数的数量有限制,您可以通过执行getconf AR
java-Dc=test-Drecursive-Dauto-jar post.jar文件夹
但它索引了0个文件。如果我有更少的文件,那么下面的工作:
java-Dc=test-Drecursive-Dauto-jar post.jar文件夹/*
但如果文件数量很大,我会出现以下错误:
参数列表太长
请注意,我正在ubuntu中运行该命令。命令行对参数的数量有限制,您可以通过执行
getconf ARG_MAX
所以,文件的数量超过了这个限制,这就是为什么会出现这个错误的原因。您应该使用xargs
来克服此限制
用法示例如下(您需要根据您的命令进行调整):
您是否只使用命令行编制索引?为了避免多次启动
post.jar
的开销,-n
参数会有所帮助。类似于find folder/-iname“*.xml”-print0 | xargs-0-n100 java-Dc=test-Drecursive-Dauto-jar post.jar的东西应该可以工作。
find . -name \*xml | xargs java -jar post.jar