搜索日志 - 如何获取指定日期范围的完整列表?

我不知道 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] 语法定义了一个名为 datedatetime 类型参数。此参数允许您指定要检索搜索日志数据的日期。然后,查询使用此参数从指定日期过滤过去三个月的搜索日志。

要在 Discourse Data Explorer 中使用此查询,请按照以下步骤操作:

  1. 转到您的 Discourse 站点的管理员仪表板。
  2. 在左侧菜单中点击“Data Explorer”。
  3. 点击“New Query”创建一个新查询。
  4. 如果需要,为您的查询命名并添加描述。
  5. 将上面的 SQL 代码复制并粘贴到“Query”文本区域中。
  6. 点击“Save”按钮保存查询。

保存后,您可以通过点击 Data Explorer 中的查询名称来执行它。将弹出一个窗口,要求您输入 date 参数的值。以 YYYY-MM-DD 格式(例如,2023-07-28)提供日期,然后点击“Run Query”。

该查询将从指定日期检索过去三个月的全部搜索日志数据,结果将以表格格式显示。