在Rails中计算数据库中的单词频率

时间:2012-07-09 04:15:46

标签: mysql ruby-on-rails word-frequency

我有一个Rails应用程序,其数据库有两列(名称和描述)。我想运行一个脚本,它将在任一列中找到所有唯一的单词,并根据它们出现的频率对它们进行排名。这是为了生成索引。

我理解我需要排除某些词语(例如“the”和“a”),并且由于多元化,计数可能不完美。但我很乐意在后期处理中手动处理这个问题,我只是在找一个基本的脚本,它会给我所有的单词及其频率。

有没有人有任何代码可以做到这一点或任何指导如何去做?

1 个答案:

答案 0 :(得分:1)

def unique_word_count
  @thing = Thing.all
  @hash = Hash.new(0)
  @thing.each do |thing|
    name_array = thing.name.split(' ')
    description_array = thing.description.split(' ')
  end
  name_array.each do |word|
    @hash[word] += 1
  end
  description_array.each do |word|
    @hash[word] += 1
  end
end

我没有运行代码,但是这样的东西可能就是你要找的东西。