我的内容大约有50 TB。该集中的文件数量约为2.5亿。每日增量不是很大,不过我的大约10000个不同大小的文件总计不到50 MB。
目前的索引工作耗时太长,估计要在100多天内完成!!!
那么......这真的是一个庞大的数据集吗?对我来说,50 TB的内容(在这个时代)并不是很大。你有这个尺码的内容吗?如果你这样做,你是如何改善一次性索引所花费的时间的?另外,您是如何通过实时索引来改善时间的呢?
如果你能回答..很棒。如果你能指出我正确的方向......也要欣赏它。
提前致谢。
RD
答案 0 :(得分:0)
有许多因素需要考虑。
您可以从客户端开始编制索引。你在使用哪个客户端。是Solrj,还是任何侦听数据库(如oracle或Hbase)或rest API的框架。 考虑到Solr擅长处理它们,这可能会有所不同,但客户端的客户端框架和数据准备也需要进行优化。例如,如果您使用Hbase Indexer(从Hbase表读取并写入Solr),您可以预计在一小时左右就会有数百万个索引。然后,这不应该花费很多时间来完成2.5亿。
在客户端之后,您进入Solr环境。您在文档中索引了多少个字段。您是否也有字段类型的存储字段或任何其他开销。
根据记录数量或RAm大小配置autoCommit等参数,上面评论中提到的softCommit,索引数据的并行线程,硬件是cosider的一些要点。
您可以找到全面的检查清单here,并可以对每个清单进行验证。快乐设计