| Краткое описание | Discourse Data Explorer позволяет выполнять SQL-запросы к вашей базе данных в реальном времени, что обеспечивает актуальную статистику. | |
| Руководство по установке | Этот плагин входит в состав ядра Discourse. Отдельная установка плагина не требуется. |
Если вы ищете примеры или поддержку для любых пользовательских запросов, вы можете найти множество тем в нашей категории #data-reporting под тегом sql-query. Если вы не нашли тему, подходящую для ваших конкретных нужд, не стесняйтесь создать новую тему, чтобы попросить сообщество о помощи.
Помощь с запросами
Хостинг у нас? Этот плагин доступен в наших планах Business и Enterprise. Data Explorer | Discourse - Civilized Discussion
После установки плагина перейдите в раздел /admin/plugins.
![]()
Нажмите кнопку «Настройки» (Settings), включите параметр data explorer enabled, затем вернитесь и обновите страницу.
В навигационной панели с вкладками должна появиться вкладка «Data Explorer». Выберите ее или перейдите по адресу /admin/plugins/discourse-data-explorer, затем используйте кнопки +, Импорт или Запуск, чтобы начать работу.
Запросы по умолчанию
При чистой установке Data Explorer поставляется с несколькими запросами, которые помогут вам получить представление об активности вашего форума. Откройте любой запрос и нажмите Запуск, чтобы протестировать его.
Вот как выглядят стандартные запросы.
Примечание: Запросы по умолчанию берутся из этого файла: discourse-data-explorer/lib/discourse_data_explorer/queries.rb at main · discourse/discourse-data-explorer · GitHub
Если у вас есть отличный запрос, который вы хотите, чтобы использовали все, отправьте Pull Request, как этот.
Запросы по умолчанию нельзя редактировать. Если вы хотите их изменить, скопируйте SQL-код и вставьте его в новый запрос.
Написание запросов
Когда вы нажимаете кнопку Редактировать в представлении запроса или создаете новый запрос в Data Explorer, вы видите экран, похожий на приведенный ниже:
Две верхние ячейки — это имя и описание запроса. Имя используется при выборе из выпадающего списка, а описание должно использоваться для пояснения того, что нужно вводить в параметры запроса, или для описания того, какие данные запрашиваются.
Левая панель — это место, где вы пишете SQL-запрос. Там предоставляется базовая подсветка синтаксиса и проверка.
Автоматический запуск запросов
Хотя вы всегда можете запустить запрос, нажав кнопку Запуск, вы можете сэкономить время при загрузке запроса, добавив параметр run в URL.
Например: /admin/plugins/discourse-data-explorer/queries/123?run
Когда этот параметр добавлен в URL, запрос будет выполнен сразу после загрузки страницы, поэтому вам не нужно нажимать кнопку Запуск, чтобы увидеть результаты. Это особенно полезно для запросов, которые вы выполняете часто, позволяя добавлять их в закладки или на боковую панель с параметром run для отчета в один клик.
Импорт запросов
Для примера давайте импортируем запрос, который я написал. Скачайте этот файл, затем откройте диалог импорта, выберите файл для загрузки или вставьте запрос в текстовое поле. Нажмите «Импорт», чтобы сохранить его, а затем нажмите Запуск, чтобы увидеть результаты.
most-common-likers.dcquery (1).json (442 Bytes)
Похоже, все разработчики Discourse очень любят друг друга ![]()
Поиск запросов
Если вы накопили слишком много отличных запросов, это не проблема! Строка поиска поможет вам отфильтровать запросы по названиям и описаниям.
Разрешение группам, не являющимся персоналом, запускать запросы
Вы можете добавить конкретные группы (включая модераторов) в запрос, чтобы предоставить им доступ к нему:
После сохранения вы можете найти его на странице групп для этой конкретной группы на вкладке Отчеты:
Нажмите любой запрос, чтобы открыть его, а затем кнопку Запуск, чтобы увидеть результаты. Вы также можете добавить групповые отчеты в закладки, нажав кнопку Добавить в закладки.
Обмен запросами с предопределенными параметрами
Если вы включили определяемые пользователем параметры в свой запрос, вы можете поделиться ссылкой на запрос и включить параметры в URL, чтобы они были предварительно заполнены при загрузке страницы.
Вы должны включить параметры в URL в этом формате params={"parameter_name":"value"}. Разделяйте несколько параметров запятыми. Например:
discourse.example.com/g/my-group/reports/6?params={"param1":"value1","param2":"value2"}
В сочетании с параметром run упомянутым выше вы можете поделиться отчетом с предопределенными параметрами, который автоматически запускается при загрузке.
Ограничения результатов и экспорт запросов
При выполнении больших запросов вы можете заметить, что существует ограничение на количество строк, которые отображает Data Explorer. По умолчанию лимит установлен на 1000 строк. Это сделано для предотвращения чрезмерно больших запросов, которые могут замедлить работу или нарушить производительность вашего экземпляра Discourse.
Если вы хотите обойти это ограничение, у вас есть несколько вариантов:
- Пагинация: Вы можете использовать пагинацию результатов. Вместо того чтобы пытаться вернуть все результаты сразу, вы можете написать запрос так, чтобы он возвращал определенный диапазон результатов. Затем вы можете изменять этот диапазон, чтобы просматривать различные разделы ваших данных. Это не увеличит лимит, но позволит вам просматривать все ваши данные по частям.
- Увеличение лимита: Если у вас есть доступ к серверу Discourse и вы чувствуете себя уверенно при внесении изменений в настройки Discourse, вы можете увеличить лимит. Однако это следует делать с осторожностью. Увеличение лимита может создать большую нагрузку на ваш сервер, если вы не будете осторожны, особенно если несколько пользователей выполняют большие запросы одновременно.
- Скачивание результатов: У вас также есть возможность скачивать результаты запроса вместо того, чтобы просматривать их непосредственно в Discourse, нажав кнопки
JSONилиCSVпосле выполнения запроса. Данные, скачанные из запроса в формате JSON или CSV, имеют гораздо более высокий лимит результатов в 10 000 строк. Для программных целей вы хотите выбрать формат Json, или, если вы хотите работать с данными в приложении для работы с электронными таблицами, формат CSV может быть более удобным.
Обычно хорошей идеей является попытка написать более эффективные запросы или отфильтровать данные так, чтобы вы получали только то, что вам нужно, вместо того чтобы пытаться обойти лимит.
Вы также можете экспортировать сам SQL-запрос в формате .JSON, нажав кнопку Экспорт. Запросы, экспортированные этим способом, можно затем импортировать на другие сайты Discourse или использовать с сторонними приложениями.
План запроса
Флажок «Включить план запроса» можно использовать для лучшего понимания и оптимизации ваших SQL-запросов.
Когда вы устанавливаете этот флажок и запускаете запрос, Discourse отобразит последовательность операций, используемых для доступа к данным в базе данных Discourse. Это может включать такие операции, как сканирование, объединение, сортировка и другие действия базы данных. Изучив план запроса, вы сможете увидеть, как именно база данных выполняет ваш запрос.
Серия уроков по Data Explorer
У нас также есть отдельная серия sql-tutorial, посвященная Data Explorer! Если вы заинтересованы в изучении написания SQL-запросов в Discourse, мы настоятельно рекомендуем прочитать темы в этой серии:











