在生产中使用PG,但在开发中使用SQLite3。应用程式是一项有几个问题的问卷调查。每个问题的回答都有一个模型。我有一个查询,可分别提取每个问题的答案。
我希望能够从该ActiveRecord结果中挑选出常见的单词和/或短语来构建类似“单词云”的内容。有没有宝石可以做到这一点?否则,将有一个贯穿此的代码示例/教程。我不确定要寻找答案的搜索内容,但是搜索“词云”似乎会弹出前端设计技巧。我更关心获取数据。
答案 0 :(得分:0)
您可以将字计数逻辑卸载到PSQL:
此查询应返回some_column
的{{1}}中的每个单词以及其出现次数。
some_table
这可以通过ActiveRecord执行,如下所示:
SELECT word, count(*) AS word_count
FROM (
SELECT regexp_split_to_table(some_column, '\s') as word
FROM some_table
) t
GROUP BY word
您可以将其与magic_cloud gem(https://github.com/zverok/magic_cloud)结合使用以生成词云作为图像,如下所示:
result = ActiveRecord::Base.connection.exec_query(query)
或者,将单词作为JSON返回并使用您喜欢的任何JS可视化库对其进行处理。