我使用Elasticsearch.的Tire作为Ruby包装器我的问题是,我需要将10万个文档加载到内存中,并对它们进行某种复杂的计算。目前的程序如下:
Computation.new(all_documents)computation.calc(document)此策略不适用于10万个文档,因为我将立即达到机器的内存限制。文档(JSON)被加载到Tire对象中,然后我将其转换为Ruby散列。
我该怎么做才能达到这个规模呢?我想到了以下几点,但我不确定( a)实现b)最好的解决方案是否好。
c = Computation.newc.preprocess(documents)c.calc(document)此外,从GC的角度来看,我不确定这将如何工作。
发布于 2013-09-04 20:16:28
您的问题似乎是“如何在不耗尽内存的情况下将10万个ElasticSearch JSON对象序列化成Ruby?”更好的问题是:“如何尽可能轻松高效地对100000个ElasticSearch文档进行计算?”因为我们不知道你想要进行什么样的计算,所以我们必须把答案保持在一般水平。
希望这能帮上忙!
https://stackoverflow.com/questions/18418761
复制相似问题