🔎 Учет количества запросов к датасету в релевантности поисковой выдачи

Когда в прошлый раз мы обсуждали критерии релевантности поисковой выдачи, не упомянули один из критериев - количество запросов к датасету в источнике. При этом, этот параметр может быть одним из важнейших при определении позиции датасета в поисковой выдаче.

Что важно учесть при его применении? 📌 1. Получение данных о запросах В разных СУБД, данные будут храниться в разном формате и для их получения могут понадобиться разные привилегии. Несколько примеров: PostgreSQL - системное представление pg_stat_activity или pg_stat_statements (если включено); MySQL - таблица performance_schema.events_statements_summary_by_digest; MS SQL Server - системное представление sys.dm_exec_query_stats; ClickHouse - таблица system.query_log.

Важно помнить:

  • Доступ к системным таблицам: Для выполнения запросов к обозначенным таблицам могут потребоваться права администратора или специальные привилегии.
  • Запросы к системным таблицам могут быть ресурсоемкими, особенно если данных много. Убедитесь, что они выполняются в подходящее время.

📌 2. Определяем период, за который агрегируем данные. Период сбора данных должен быть достаточно длительным, чтобы учесть изменения в поведении пользователей, но не настолько большим, чтобы данные устарели и потеряли актуальность. Для начала можно взять период от 3 до 6 месяцев.

📌 3. Определяем частоту обновления данных. Если позволяет производительность СУБД и нет иных ограничений, - чем чаще удается извлекать данные, тем лучше. Оптимальным кажется диапазон - 1 раз в сутки.

📌 4. Исключаем запросы от технических учетных записей Т.к. в СУБД будут запросы не только отдельных пользователей, но и выполненные от имени технических учетных записей (например, для каких-либо автоматизированных процессов или интеграций), будет не лишним задуматься об исключении таких данных из статистики. Для влияния на порядок ранжирования наиболее интересными будут запросы обычных пользователей. Отделить технические учетки от простых можно, например, по паттернам в наименовании (если они существуют и соблюдаются в организации), либо по количеству/частоте/периодичности запросов. Весь пункт применим, при условии, что СУБД и гранты учетной записи, под которой извлекаются данные, позволяют достать нужные данные.

А в следующем посте поговорим про то, как применять извлеченные данные.