私は次のコードを持っています
h2.each {|k, v|
@count += 1
puts @count
sq.each do |word|
if Wordsdoc.find_by_docid(k).tf.include?(word)
sum += Wordsdoc.find_by_docid(k).tf[word] * @s[word]
end
end
rec_hash[k] = sum
sum = 0
}
h2->はドキュメントのIDを含むハッシュであり、ハッシュには1000を超えるこれらのWordsdocが含まれています->は私のデータベースのモデル/テーブルです...sq->は約10語を含むハッシュです
私がやっていることは、各ドキュメントIDを調べてから、sq内の各単語について、その単語が存在するかどうかをWordsdocテーブルで検索することです(Wordsdoc.find_by_docid(k).tf.include?(word)、ここで、tfは{word=>value}のハッシュです。
もしそうなら、Wordsdocでその単語の値を取得し、それを@sの単語の値と乗算します。これは、{word=>value}のハッシュでもあります。
これは非常に遅いようです。Ttは1秒あたり1つのドキュメントを処理します。これをより速く処理する方法はありますか?
これについてあなたの助けに本当に感謝します!