[英]Seeking Common Words/Phrases in ActiveRecord
在生產中使用PG進行Rails開發,在開發中使用SQLite3。 應用程式是一項有幾個問題的問卷調查。 每個問題的回答都有一個模型。 我有一個查詢,可分別提取每個問題的答案。
我希望能夠從該ActiveRecord結果中挑選出常見的單詞和/或短語來構建類似“單詞雲”的內容。 有沒有寶石可以做到這一點? 否則,將有一個貫穿此的代碼示例/教程。 我不確定要尋找答案的搜索內容,但是搜索“詞雲”似乎會彈出前端設計技巧。 我更關心獲取數據。
您可以將字計數邏輯卸載到PSQL:
此查詢應返回some_column
中的some_table
每個單詞以及其出現的次數。
SELECT word, count(*) AS word_count
FROM (
SELECT regexp_split_to_table(some_column, '\s') as word
FROM some_table
) t
GROUP BY word
這可以通過ActiveRecord執行,如下所示:
result = ActiveRecord::Base.connection.exec_query(query)
您可以將其與magic_cloud gem( https://github.com/zverok/magic_cloud )結合使用以生成單詞cloud作為圖像,如下所示:
words = result.map {|k, v| [v['word'], v['word_count'] ]} #untested
cloud = MagicCloud::Cloud.new(words, rotate: :free, scale: :log)
或者,將單詞返回為JSON並使用您喜歡的任何JS可視化庫進行處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.