递归扫描文档以在 SolrJ 中的文件夹中建立索引
Recursively scan documents for indexing in a folder in SolrJ
我了解到在 SimplePostTool (post.jar) 中,有这个命令可以自动检测文件夹中的内容类型,并递归扫描它以查找文档以索引到集合中:
bin/post -c gettingstarted afolder/
这对我对文件夹中的所有文件进行大量索引非常有用。现在我正在转向生产并计划使用 SolrJ 进行索引编制,因为它可以做更多的事情,例如稳健性检查和为失败的索引退出。
但是,我似乎找不到在 SolrJ 中执行相同操作的方法。这有可能在 SolrJ 中完成吗?我正在使用 Solr 5.3.0
谢谢。
此致,
埃德温
如果您希望将内容提交给提取请求处理程序(用于索引 PDF 和类似的富文档),您可以使用 ContentStreamUpdateRequest
方法,如 Uploading data with SolrJ:
SolrClient server = new HttpSolrClient("http://localhost:8983/solr/my_collection");
ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
req.addFile(new File("my-file.pdf"));
server.request(req);
要在 Java 中递归遍历目录结构,请参阅 Best way to iterate through a directory in Java。
如果您打算索引纯内容(而不是使用请求处理程序),您可以通过在 SolrJ 本身中创建文档然后将文档提交到服务器来实现 - 无需将它们写入中间的一个临时文件。
我了解到在 SimplePostTool (post.jar) 中,有这个命令可以自动检测文件夹中的内容类型,并递归扫描它以查找文档以索引到集合中:
bin/post -c gettingstarted afolder/
这对我对文件夹中的所有文件进行大量索引非常有用。现在我正在转向生产并计划使用 SolrJ 进行索引编制,因为它可以做更多的事情,例如稳健性检查和为失败的索引退出。
但是,我似乎找不到在 SolrJ 中执行相同操作的方法。这有可能在 SolrJ 中完成吗?我正在使用 Solr 5.3.0
谢谢。
此致,
埃德温
如果您希望将内容提交给提取请求处理程序(用于索引 PDF 和类似的富文档),您可以使用 ContentStreamUpdateRequest
方法,如 Uploading data with SolrJ:
SolrClient server = new HttpSolrClient("http://localhost:8983/solr/my_collection");
ContentStreamUpdateRequest req = new ContentStreamUpdateRequest("/update/extract");
req.addFile(new File("my-file.pdf"));
server.request(req);
要在 Java 中递归遍历目录结构,请参阅 Best way to iterate through a directory in Java。
如果您打算索引纯内容(而不是使用请求处理程序),您可以通过在 SolrJ 本身中创建文档然后将文档提交到服务器来实现 - 无需将它们写入中间的一个临时文件。