java - 递归扫描 SolrJ 文件夹中的文档以建立索引

标签 java solr 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 本身中创建文档然后将文档提交到服务器来实现 - 无需将它们写入临时文件文件介于两者之间。

关于java - 递归扫描 SolrJ 文件夹中的文档以建立索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33162268/

相关文章:

java - 星期几、java 和 Zeller 的同余!

java - 接受多个字段的 Solr 查询返回列表中的第一个非空值,如 oracle 中的合并

hadoop - 使用 zkcli.sh bash 通过 oozie shell 操作将 solr 配置从 hdfs 发送到 zookeeper

java - Solrcloud性能问题

Solr 将 CommonsHttpSolrServer 更改为 HttpSolrServer

java - WindowEvent.WINDOW_CLOSING 提前终止程序

java - 使用 Java 反射,如何获取指定构造函数参数的派生类的类的构造函数?

java - 当整个学生对象是唯一的时,为什么 TreeSet 不能让学生年龄相似?

apache - 本地主机 :8080/solr/browse gives a lazy loading error

java - 搜索 Solr/SolrJ 中的所有字段