我有以下代码
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 每秒处理一个文档。有没有办法更快地处理这个?
非常感谢您对此的帮助!