0

2 つの列 (名前と説明) を持つデータベースを持つ Rails アプリがあります。いずれかの列ですべての一意の単語を検索し、出現頻度に従ってランク付けするスクリプトを実行したいと考えています。これは、インデックスを生成するためのものです。

特定の単語 (「the」や「a」など) を除外する必要があること、および複数形のためにカウントが不完全になる可能性があることを理解しています。しかし、私はこれを後処理で手動で処理して喜んでおり、すべての単語とその頻度を教えてくれる基本的なスクリプトを探しています。

これを実行するコードや、その方法に関するガイダンスはありますか?

4

1 に答える 1

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

私はコードを実行していませんが、このようなものがおそらく探しているものです。

于 2012-07-09T04:44:53.863 に答える