أنا في المراحل الأولى من تجميع تقرير أسبوعي لبيانات موقعي. حاليًا، أنظر إلى بعض المقاييس التي أرغب في تتبعها بنشاط. أنا مهتم بتقرير مصطلحات البحث الشائعة، ولكن أثناء نظري إلى تاريخه، يبدو أن البيانات يمكن أن تكون متحيزة بشدة بسبب عمليات البحث التي يجريها المسؤولون/المشرفون.
يعمل المنتدى جزئيًا كقاعدة معرفية للدعم للمنتجات التي تصنعها شركتي، وعلى هذا النحو، غالبًا ما نبحث عن منشورات ذات صلة لاستكشاف الأخطاء وإصلاحها عند الرد على التذاكر. هل هناك طريقة سهلة لإزالة عمليات بحث المسؤولين/المشرفين من هذا التقرير؟
--[params]
-- date :start_date
-- date :end_date
WITH admin_moderator_users AS (
SELECT
gu.user_id
FROM
group_users gu
JOIN
groups g ON gu.group_id = g.id
WHERE
g.name IN ('admins', 'moderators')
)
SELECT
lower(sl.term) AS search_term,
count(sl.id) AS term_count,
(COALESCE(SUM(CASE WHEN sl.search_result_type IS NULL THEN 0 ELSE 1 END), 0) / count(sl.id)::float) * 100 AS click_through_rate,
SUM(CASE WHEN sl.search_result_type IS NULL THEN 0 ELSE 1 END) as click_count
FROM
search_logs sl
LEFT JOIN
admin_moderator_users amu ON sl.user_id = amu.user_id
WHERE
sl.created_at::date BETWEEN :start_date AND :end_date
AND amu.user_id IS NULL
GROUP BY
lower(sl.term)
ORDER BY
term_count DESC
إليك استعلام SQL الخاص بتقرير لوحة معلومات مصطلحات البحث الشائعة: