Сбор данных телеметрии для аналитики трафика поиска

Аналитика трафика поиска — это шаблон сбора данных телеметрии о взаимодействии пользователей с приложением поиска ИИ Azure, например события, инициированные пользователем, и входные данные клавиатуры. С помощью этих сведений можно определить эффективность решения для поиска, включая популярные условия поиска, частоту переходов, а также то, какие запросы выдают нулевые результаты.

Этот шаблон зависит от Application Insights (функция Azure Monitor) для сбора данных пользователей. Для этого необходимо добавить инструментирование в код клиента, как описано в этой статье. Наконец, вам нужен механизм создания отчетов для анализа данных. Мы рекомендуем использовать Power BI, но вы можете предпочесть панель мониторинга приложения или любое средство, которое подключается к Application Insights.

Примечание.

Шаблон, описанный в этой статье, предназначен для расширенных сценариев и навигации данных, создаваемых кодом, который добавляется в клиент. Журналы служб, напротив, просты в настройке, предоставляют ряд метрик и могут выполняться на портале без кода. Для всех сценариев рекомендуется включить ведение журнала. Дополнительные сведения см. в разделе Сбор и анализ данных журналов.

Определение соответствующих данных поиска

Для получения полезных метрик трафика поиска необходимо организовать регистрацию некоторых пользовательских событий в приложении поиска. Эти события обозначают интересующее пользователей содержимое, которое является соответствующим для них. Для аналитики трафика поиска такие события включают следующее.

  • События поиска, созданные пользователем: интересны только поисковые запросы, инициированные пользователем. Другие поисковые запросы, такие как те, которые использовались для заполнения аспектов или получения внутренней информации, не важны. Применяйте инструментирование только к событиям, инициируемым пользователем, чтобы избежать отклонений или смещений в результатах.

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

Связав события поиска и щелкнув его идентификатором корреляции, вы можете получить более глубокое представление о том, насколько хорошо работает функция поиска приложения.

Добавление аналитики поискового трафика

На странице портала для azure AI служба откройте страницу "Аналитика трафика поиска", чтобы получить доступ к памятке по этому шаблону телеметрии. На этой странице можно выбрать или создать ресурс Application Insights, получить ключ инструментирования, скопировать фрагменты кода, которые можно адаптировать для решения, и загрузить отчет Power BI, созданный на основе схемы, которая отражена в шаблоне.

Снимок экрана: команда портала и страница настройки приложения Аналитика.

Шаг 1. Настройка приложения Аналитика

Выберите или создайте ресурс Application Insights (если у вас его нет).

Ярлык, который подходит для некоторых типов проектов Visual Studio, представлен на следующих шагах.

На рисунке эти действия используют клиент из "Добавить поиск" в статическое веб-приложение.

  1. Откройте решение в Visual Studio.

  2. В меню "Проект" выберите Подключение добавленные службы>> приложение Azure Аналитика.

  3. В Подключение зависимости выберите приложение Azure Аналитика и нажмите кнопку "Далее".

  4. Выберите подписку Azure, ресурс приложения Аналитика и нажмите кнопку "Готово".

На этом этапе приложение настроено для мониторинга приложений, что означает, что все загрузки страниц в клиентском приложении отслеживаются с помощью метрик по умолчанию.

Если этот ярлык не работал для вас, см. статью Enable Application Аналитика server-side telemetry. (Включить телеметрию на стороне сервера).

Шаг 2. Добавление инструментирования

Добавьте код инструментирования в клиентское приложение. Страница "Аналитика трафика поиска" в портал Azure содержит фрагменты кода, которые можно вставить в код приложения.

Создание клиента телеметрии

Создайте объект, отправляющий события в Application Insights. Вы можете добавить инструментирование в код приложения на стороне сервера или клиентский код, выполняемый в браузере, выраженный здесь как варианты C# и JavaScript. Сведения о других языках см . на поддерживаемых платформах и платформах.

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

У клиента может быть другой код, который управляет входными данными запроса, добавляет навигацию или включает контекст (например, запросы, инициированные с домашней страницы и страницы продукта). Если это описывает решение, вы можете выбрать инструментирование на стороне клиента, чтобы данные телеметрии отражали дополнительные сведения. Сбор дополнительных сведений выходит за рамки область этого шаблона, но вы можете просмотреть Аналитика приложения для веб-страниц, чтобы помочь с этим решением.

Ключ инструментирования можно получить из портал Azure на страницах приложения Аналитика или на странице аналитики трафика поиска azure AI.

// Application Insights SDK: https://www.nuget.org/packages/Microsoft.ApplicationInsights.Web 

var telemetryClient = new TelemetryClient();
telemetryClient.InstrumentationKey = "0000000000000000000000000000";

События поиска по журналам

Каждый отправляемый поисковой запрос необходимо регистрировать в качестве события поиска, используя следующую схему настраиваемого события Application Insights. Не забывайте регистрировать только те поисковые запросы, которые созданы пользователем.

  • SearchServiceName: (строка) имя службы поиска
  • SearchId: (GUID) уникальный идентификатор поискового запроса (входит в ответ поиска)
  • IndexName: (строка) индекс службы поиска для запроса
  • QueryTerms: (строка) слова для поиска, вводимые пользователем
  • ResultCount: (целое число) число возвращенных документов (входит в ответ поиска)
  • ScoringProfile: (строка) имя используемого профиля оценки, если имеется

Примечание.

Получите число запросов, создаваемых пользователем, добавив $count=true в поисковый запрос. Дополнительные сведения см. в статье Поиск документов (REST).

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"IndexName", <INDEX NAME>},
	{"QueryTerms", <SEARCH TERMS>},
	{"ResultCount", <RESULTS COUNT>},
	{"ScoringProfile", <SCORING PROFILE USED>}
};

telemetryClient.TrackEvent("Search", properties);

События щелчка журнала

Каждый щелчок документа — это событие, которое необходимо зарегистрировать для анализа поиска. Используйте пользовательские события Application Insights для регистрации этих событий по следующей схеме:

  • ServiceName: (строка) имя службы поиска
  • SearchId: (GUID) уникальный идентификатор связанного поискового запроса
  • DocId: (строка) идентификатор документа
  • Position: (целое число) положение документа на странице результатов поиска

Примечание.

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

var properties = new Dictionary <string, string> {
	{"SearchServiceName", <SEARCH SERVICE NAME>},
	{"SearchId", <SEARCH ID>},
	{"ClickedDocId", <CLICKED DOCUMENT ID>},
	{"Rank", <CLICKED DOCUMENT POSITION>}
};

telemetryClient.TrackEvent("Click", properties);

Шаг 3. Анализ в Power BI

После инструментирования приложения и проверки правильности его подключения к Application Insights можно загрузить предварительно заданный шаблон отчета, чтобы проанализировать данные в Power BI Desktop. Отчет содержит предопределенные диаграммы и таблицы, полезные для анализа дополнительных данных, захваченных для аналитики трафика поиска.

  1. В портал Azure на страницах службы поиска в разделе Параметры выберите "Аналитика трафика поиска".

  2. Выберите " Получить Power BI Desktop ", чтобы установить Power BI.

  3. Выберите "Скачать отчет Power BI", чтобы получить отчет.

  4. Отчет откроется в Power BI Desktop, и вам будет предложено подключиться к приложению Аналитика и предоставить учетные данные. Сведения о подключении представлены на страницах портала Azure для вашего ресурса Application Insights. Для учетных данных укажите те же имя пользователя и пароль, которые используются для входа на портал.

    Снимок экрана: подключение к приложению Аналитика из Power BI.

  5. Выберите Загрузить.

Этот отчет содержит диаграммы и таблицы, которые помогут вам принимать более взвешенные решения для улучшения производительности и релевантности поиска.

Метрики содержат следующие элементы.

  • Объем поиска и распространенные пары "условие —документ". Условия, в результате которых щелкают тот же документ, c упорядочиванием по щелчкам.
  • Поисковые запросы без щелчков. Условия основных запросов, для которых не выполнялись щелчки.

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

Снимок экрана: встроенный отчет с использованием всех доступных элементов схемы.

Следующие шаги

Выполните инструментирование приложения поиска для получения детальных и полезных сведений о службе поиска.

Вы можете узнать больше об Application Insights и перейти на страницу цен, чтобы получить дополнительные сведения о соответствующих уровнях служб.

Дополнительные сведения о создании отчетов. См. статью Начало работы с Power BI Desktop.