java - 在 Solr 中索引约 1TB 富文本文档的最佳方法是什么?

标签 java search solr apache-tika

我正在尝试索引大约 120 万个文件 (1TB),其中包括 doc、pdf、xls、msg 和其他文件。我正在使用一个 Java 爬虫,它会遍历每个文件,并使用执行更新/提取 cURL 命令的进程将其发布到 Solr,并定期提交。

目前,索引大约需要 75 小时,这个时间长得有点尴尬。我在网上看到了其他提高索引速度的方法,但考虑到我们索引富文本文档而不仅仅是文本或 CSV,我不确定其中哪一个适用于我们的情况。

这些文件最大可达 25MB,长度可能有数千页,所以我认为拖慢速度的是 Tika 提取所有文本。我不知道如何解决这个问题,最终我们将不得不使用 Tika 以某种方式获取内容。

我看到帖子说多线程可以用于索引,但是我在这方面没有太多经验,所以在我尝试努力创建一种方法来做到这一点之前,我想我会看看是否有人对另一种方法有任何想法这可能会增加索引时间(或者我错过的一些明显的事情)。

谢谢

最佳答案

也许您应该考虑使用 Hadoop 构建索引。此选项从 Solr 4.9 开始提供(请参阅问题 SOLR-1045 ),并允许使用多台机器来创建索引。

关于java - 在 Solr 中索引约 1TB 富文本文档的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33384961/

相关文章:

java - 循环错误 - 修复循环意味着破坏其他东西,反之亦然

Java 变量转换

java - 测试Lucene 4.0时如何解决NoSuchFieldError异常

solr - 在同一位置搜索多值字段

solr - 在 Nutch 中抓取同一域的所有链接

java - 应用程序停止使用 listview arrayadapter

html - 更改谷歌自定义搜索栏的高度

java - 在java中实现随机搜索算法

mysql - 从单表性能问题创建多对多

php - Solr 按字段值提升结果