سجلات البحث - كيفية الحصول على قائمة كاملة لفترة زمنية معينة؟

لا أعرف لغة 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، اتبع الخطوات التالية:

  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”.

سيقوم الاستعلام باسترداد جميع بيانات سجلات البحث للأشهر الثلاثة الماضية من التاريخ المحدد، وسيتم عرض النتائج في شكل جدول.