Solr索引大数据集

时间:2015-09-25 17:39:15

标签: performance indexing solr large-data-volumes

我的内容大约有50 TB。该集中的文件数量约为2.5亿。每日增量不是很大,不过我的大约10000个不同大小的文件总计不到50 MB。 目前的索引工作耗时太长,估计要在100多天内完成!!! 那么......这真的是一个庞大的数据集吗?对我来说,50 TB的内容(在这个时代)并不是很大。你有这个尺码的内容吗?如果你这样做,你是如何改善一次性索引所花费的时间的?另外,您是如何通过实时索引来改善时间的呢? 如果你能回答..很棒。如果你能指出我正确的方向......也要欣赏它。

提前致谢。
RD

1 个答案:

答案 0 :(得分:0)

有许多因素需要考虑。

  1. 您可以从客户端开始编制索引。你在使用哪个客户端。是Solrj,还是任何侦听数据库(如oracle或Hbase)或rest API的框架。 考虑到Solr擅长处理它们,这可能会有所不同,但客户端的客户端框架和数据准备也需要进行优化。例如,如果您使用Hbase Indexer(从Hbase表读取并写入Solr),您可以预计在一小时左右就会有数百万个索引。然后,这不应该花费很多时间来完成2.5亿。

  2. 在客户端之后,您进入Solr环境。您在文档中索引了多少个字段。您是否也有字段类型的存储字段或任何其他开销。

  3. 根据记录数量或RAm大小配置autoCommit等参数,上面评论中提到的softCommit,索引数据的并行线程,硬件是cosider的一些要点。

  4. 您可以找到全面的检查清单here,并可以对每个清单进行验证。快乐设计