Я не знаю SQL, но вот что мне ответил ChatGPT, когда я спросил, как запросить логи поиска за последние 3 месяца. Сработает ли это (у меня нет прав администратора, чтобы проверить, но я хочу предоставить администратору готовый запрос).
Чтобы получить все данные логов поиска за последние 3 месяца с помощью 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. Этот параметр позволяет указать дату, за которую нужно получить данные логов поиска. Затем запрос использует этот параметр для фильтрации логов поиска за последние 3 месяца от указанной даты.
Чтобы использовать этот запрос в Discourse Data Explorer, выполните следующие шаги:
- Перейдите на панель администратора вашего сайта Discourse.
- В левом меню выберите «Data Explorer».
- Нажмите «New Query», чтобы создать новый запрос.
- При желании дайте запросу имя и описание.
- Скопируйте и вставьте приведенный выше SQL-код в текстовое поле «Query».
- Нажмите кнопку «Save», чтобы сохранить запрос.
После сохранения вы можете выполнить запрос, кликнув по его имени в Data Explorer. Появится всплывающее окно с просьбой ввести значение параметра date. Укажите дату в формате YYYY-MM-DD (например, 2023-07-28) и нажмите «Run Query».
Запрос вернет все данные логов поиска за последние 3 месяца от указанной даты, а результаты будут отображены в виде таблицы.