Поиск / Просмотр только по тегам заполняет темы с тегом, но не ответы

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

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

Делаю ли я что-то неправильно или существует настройка, которую можно изменить?

Привет, Dan :slight_smile:

У меня небольшая сложность с пониманием, так как теги можно добавлять только к темам, а не к сообщениям.

@Canapin вы можете добавить тег к тексту сообщения, просто введя # и начав вводить имя тега… например, bug :slight_smile:

Это ссылка, а не тег.

1 лайк

Ну, черт

Вы можете ссылаться на тег в посте, но только тема может быть фактически помечена этим тегом.

Однако, если у вас установлен плагин Data Explorer, вы можете использовать запрос, похожий на этот, чтобы получить список постов, в которых тег был упомянут:

-- [params]
-- string :hashtag
-- date :start_date
-- date :end_date 

WITH target_posts AS (
  SELECT 
    p.id AS post_id,
    t.category_id,
    p.created_at
  FROM posts p
  JOIN topics t ON p.topic_id = t.id
  JOIN users u ON u.id = p.user_id
  WHERE t.deleted_at IS NULL
    AND t.archetype = 'regular'
    AND p.deleted_at IS NULL
    AND p.post_type = 1
    AND p.created_at::date BETWEEN :start_date AND :end_date
    AND p.post_number <> 1
)

SELECT
  tp.category_id,
  tp.post_id,
  tp.created_at::date
FROM target_posts tp
LEFT JOIN post_search_data psd ON psd.post_id = tp.post_id
WHERE psd.search_data @@ TO_TSQUERY(:hashtag)
ORDER BY tp.created_at DESC

4 лайка

Спасибо. Без удобной кнопки придется обойтись. Я также добавил функцию «Следить за словами» для автоматического создания тега при необходимости, но, как я понимаю, это работает только для тем. Было бы здорово, если бы существовала возможность добавлять теги к сообщениям — возможно, для большинства это было бы излишним, но если бы это можно было включить через настройку, я знаю, что это точно помогло бы хотя бы в нашей ситуации. В любом случае, спасибо всем за информацию!

3 лайка