我不知道 SQL,但这是我问 ChatGPT 如何查询过去三个月搜索日志时它告诉我的。这会起作用吗(我没有管理员权限可以尝试,但我希望有一个可靠的查询可以转交给我的管理员)。
要使用 Discourse Data Explorer 获取过去三个月的全部搜索日志数据,您可以创建一个包含以下代码的新查询:
-- [params]
-- date :datetime
SELECT
action_logs.id AS action_log_id,
action_logs.created_at AS action_log_date,
action_logs.action AS action_type,
users.id AS user_id,
users.username AS user_username,
users.email AS user_email,
user_actions.details AS search_query
FROM
action_logs
JOIN
user_actions ON user_actions.id = action_logs.action_id
JOIN
users ON user_actions.user_id = users.id
WHERE
action_logs.action = 'searched'
AND action_logs.created_at >= :date - INTERVAL '3 months'
ORDER BY
action_logs.created_at DESC;
在此查询中,我们使用 -- [params] 语法定义了一个名为 date 的 datetime 类型参数。此参数允许您指定要检索搜索日志数据的日期。然后,查询使用此参数从指定日期过滤过去三个月的搜索日志。
要在 Discourse Data Explorer 中使用此查询,请按照以下步骤操作:
- 转到您的 Discourse 站点的管理员仪表板。
- 在左侧菜单中点击“Data Explorer”。
- 点击“New Query”创建一个新查询。
- 如果需要,为您的查询命名并添加描述。
- 将上面的 SQL 代码复制并粘贴到“Query”文本区域中。
- 点击“Save”按钮保存查询。
保存后,您可以通过点击 Data Explorer 中的查询名称来执行它。将弹出一个窗口,要求您输入 date 参数的值。以 YYYY-MM-DD 格式(例如,2023-07-28)提供日期,然后点击“Run Query”。
该查询将从指定日期检索过去三个月的全部搜索日志数据,结果将以表格格式显示。