토픽 목록 필터 기능

최근에 혁신적인 /filter 경로를 도입하여 주제 목록을 더 정교하게 필터링할 수 있게 되었습니다. 특히, 이는 검색과 필터링 모두를 위한 통합된 주제 필터링 언어로 나아가는 첫 번째 단계입니다. 또한, 주제 목록 필터링을 위한 전용 경로는 사이드바의 커스터마이징 기능을 향상시킵니다. 이제 사용자는 사이드바 내에 커스텀 섹션 링크로 링크를 포함시킬 수 있습니다.

작동 방식

/filter에는 사용자가 주제 목록을 필터링하기 위한 쿼리 문자열을 입력할 수 있는 입력 필드가 있습니다.

예를 들어, category:documentation tag:how-to+emailDocumentation 카테고리에 속하고 how-toemail 태그가 모두 지정된 주제를 필터링합니다.

현재 지원되는 필터 목록은 다음과 같습니다:

status:open 닫히거나 아카이브되지 않은 주제
status:closed 닫힌 주제
status:public 읽기 제한이 없는 주제 (예: 보안 카테고리에 속한 경우)
status:archived 아카이브된 주제
status:unlisted 표시되지 않는 주제
status:listed 표시되는 주제
status:deleted 삭제된 주제

in:pinned 고정된 주제 (전역 또는 카테고리별 고정)
in:watching 내가 보고 있는 항목 - (muted,normal,tracking, watching_first_post)를 지원하여 추적 중, 보고 있는 항목 등으로 필터링할 수 있습니다 - 여러 값은 쉼표로 구분하여 사용할 수 있습니다
in:bookmarked 내가 북마크한 항목

category:bug bug 카테고리 및 모든 하위 카테고리에 있는 주제
=category:bug 하위 카테고리를 제외한 bug 카테고리에 있는 주제
category:documentation:admins documentation의 admins 하위 카테고리에 있는 주제
category:bug,feature bug 또는 feature 카테고리 및 모든 하위 카테고리에 있는 주제
=category:bug,feature 모든 하위 카테고리를 제외한 bug 또는 feature 카테고리에 있는 주제
-category:bug,feature bug 또는 feature 카테고리 및 모든 하위 카테고리에 있는 주제를 제외
-=category:bug,feature bug 또는 feature 카테고리에 있는 주제만 제외하고 하위 카테고리는 포함
categories: category의 별칭

tag:bug+feature bug 및 feature 태그가 모두 지정된 주제
tag:bug,feature bug 또는 feature 태그가 지정된 주제
-tag:bug+feature bug 및 feature 태그가 지정된 주제를 제외
-tag:bug,feature bug 또는 feature 태그가 지정된 주제를 제외
tags: tag의 별칭

tag_group:tag_group_name tag_group에 있는 태그 중 하나 이상이 지정된 주제
-tag_group:tag_group_name tag_group에 있는 태그 중 하나 이상이 지정된 주제를 제외

created-by:@USERNAME 특정 사용자가 생성한 주제

posts-min:X X개 이상의 게시물을 가진 주제
posts-max:X 게시물 수가 X개를 초과하지 않는 주제
posters-min:X 최소 X명의 다른 사용자가 게시물을 작성한 주제
posters-max:X 최대 X명의 다른 사용자가 게시물을 작성한 주제
likes-min:X X개 이상의 좋아요를 받은 주제
likes-max:X 좋아요 수가 X개를 초과하지 않는 주제
likes-op-min:X 첫 번째 게시물이 X개 이상의 좋아요를 받은 주제
likes-op-max:X 첫 번째 게시물의 좋아요 수가 X개를 초과하지 않는 주제
views-min:X X회 이상의 조회수를 가진 주제
views-max:X 조회수가 X회를 초과하지 않는 주제

activity-before:YYYY-MM-DD 지정된 날짜 이전에 마지막으로 활동된 주제
activity-after:YYYY-MM-DD 지정된 날짜 이후에 마지막으로 활동된 주제
created-before:YYYY-MM-DD 지정된 날짜 이전에 생성된 주제
created-after:YYYY-MM-DD 지정된 날짜 이후에 생성된 주제
latest-post-before:YYYY-MM-DD 지정된 날짜 이전에 마지막 게시물이 작성된 주제
latest-post-after:YYYY-MM-DD 지정된 날짜 이후에 마지막 게시물이 작성된 주제

order:activity 활동 날짜 내림차순 정렬
order:latest-post 마지막 게시물 생성일 내림차순 정렬
order:created 주제 생성일 내림차순 정렬
order:views 주제 조회수 내림차순 정렬
order:likes 주제 내 좋아요 수 내림차순 정렬
order:likes-op 각 주제의 첫 번째 게시물 내 좋아요 수 내림차순 정렬
order:posters 게시물 작성자 수 내림차순 정렬
order:category 카테고리 이름 순 정렬
order:ANY-asc 결과를 오름차순으로 변경

피드백

이 기능이 여러분의 커뮤니티에도 유용할지, 그리고 어떻게 사용하고 있는지 커뮤니티의 의견을 듣고 싶습니다.

필요에 도움이 될 것이라고 생각하는 필터가 있다면, 어떤 작업을 하려는지에 대한 예시와 함께 알려 주십시오.

마지막으로, 이 기능은 매우 초기 버전이며 현재 실험 단계로 간주되고 있음을 강조하고 싶습니다. 사용자 경험 개선이 필요하며, 사용자들이 모든 필터를 암기하지 않아도 주제 필터링 쿼리 언어를 구성할 수 있도록 인라인 자동완성 또는 인터페이스를 추가하는 작업을 진행 중입니다.

33개의 좋아요
Filter topics without a specific tag
Discourse Custom Topic Lists
Is there a way to export topics/posts that are displayed when filtering?
Building an Index from topics
Filter posts with a specific tag on latest
Allow searching across multiple categories
Combined Watching/Tracking list
Sort display of topics Alphabetically
How to show topics ordered by date of publishing via user interface?
How to exclude a Category from search or Search through all categories except one+
Filter to eliminate from view: broken plug-ins/theme Components
Using query strings to filter topic views
Why Filter doesn't show me options like the shown on Meta?
My topics not in latest?
How to show topics ordered by date of publishing via user interface?
Wp-discourse-shortcodes plugin
Latest/Hot/Top - what about Best/Popular? Request for automatic selection
How are you increasing response rate in a community support forum?
Streamline Tag Intersections
Adding Following to the /filter option
Filtering topic lists in Discourse
Filter topics with certain categories OR certain tags
Using query strings to filter topic views
Topic filter UI isn't very intuitive
How can I filter/paginate the list CategoryTopics route?
URL syntax to filter on multiple tags within a category
Searching for content effectively
Filtered Topic Lists
Topic list parameter for created after
Using query strings to filter topic views
Disappearing bookmarks and expected behavior of /bookmarks
How to show topic-map on non-commented posts?
View that contains topics of specific categories?

무엇을 놓쳤을까…?
Contribute > Bug 카테고리에서 #chat과 #pri-high 태그가 모두 지정된 주제(topics)를 반환하지 않는 것으로 보입니다.

2개의 좋아요

우선순위 태그를 볼 수 있어야 한다고 생각하지 않아요. 이건 우리 전용이거든요. :shushing_face: :slight_smile:

포함하지 않으면 작동하나요?

3개의 좋아요


이 태그를 제거해도 작동하지 않는 것 같습니다


업데이트: "별칭"이 완벽하게 작동합니다.

2개의 좋아요

죄송합니다. tag: 별칭에 대한 지원을 추가하는 PR이 병합되지 않았다는 사실을 방금 깨달았습니다.

지금은 병합되었으므로 곧 tag: 별칭이 작동할 것입니다.

6개의 좋아요

또 다른 문제: tags 필터는 현재 중국어와 같은 비-ASCII 문자를 지원하지 않습니다.

예: tags:一个不存在的标签은 모든 주제를 반환하지만, tags:a-non-existent-tag는 예상대로 아무것도 반환하지 않습니다.


소스 코드를 확인해 보니, 이는 다음 부분 때문에 발생하고 있습니다.

    value.scan(
        /\A(?<tag_names>([a-zA-Z0-9\-]+)(?<delimiter>[,+])?([a-zA-Z0-9\-]+)?(\k<delimiter>[a-zA-Z0-9\-]+)*)\z/,
5개의 좋아요

@tgxworld 님, 좋은 작업에 박수를 보냅니다. 이로 인해 여러 가지 가능성이 열렸습니다.

혹시 문맥 기반 필터링 옵션을 제공할 수 있는지 궁금합니다.

예를 들어, 사이드바에서 공지사항 카테고리를 선택했을 때, 상단에 새로 만든 필터 패널을 표시하여 해당 카테고리 내에서 여러 태그(예: chat, new-feature)로 필터링할 수 있도록 할 수 있을까요?

현재 최종 사용자는 여러 태그로 필터링하는 직관적인 방법을 제공받지 못하고 있습니다. 수동으로 /tags/interesection/chat/new-feature 엔드포인트를 사용해야 합니다. 특히 카테고리 내에서 이를 수행하는 옵션을 최종 사용자가 인지하지 못할 수 있습니다.

5개의 좋아요

좋은 지적 감사합니다. 태그에 대한 수정안이 준비되어 있습니다.

category 필터에도 유사한 수정이 필요하지만, 약간 더 복잡합니다. 다음 주까지 완료할 수 있을 것입니다.

5개의 좋아요

/filter에 새 주제가 나타날 때 번역 문자열이 누락되어 있습니다:

[en.topic_count_all count=1]

4개의 좋아요

이 기능은 확실해 보이며, 사용자를 위한 더 나은 맞춤형 주제 피드 생성에 큰 도움이 될 것 같습니다! 감사합니다!

그런데 이 기능이 특정 카테고리/태그 내에서 여러 주제에 걸쳐 최신 게시물을 임베딩하는 데 사용할 수 있는지 궁금합니다.

1개의 좋아요

아니요, 현재 계획에 그런 것이 포함되어 있지는 않은 것 같습니다.

현재 기능을 그대로 사용해 보시고, 여전히 이 기능이 필요하다고 생각하신다면, 어떤 기능을 생각하고 계신지에 대해 조금 더 자세한 내용을 담아 새로운 주제를 만들어 주시겠어요?

1개의 좋아요

이 매우 유용한 기능을 추가해 주셔서 감사합니다!

현재 사용자가 생성한 주제를 자동으로 필터링하는 created-by:me 또는 유사한 옵션을 추가할 수 있을까요? 물론 /my/activity/topics와 유사한 기능이지만, 다른 필터와 결합하거나 모든 사용자에게 사이드바에 추가하는 데 유용할 수 있습니다.

또한, 추적/알림 설정과 관계없이 제가 게시글을 쓴 모든 주제를 필터링하는 in:participated 필터는 어떨까요?

5개의 좋아요

정말 좋습니다! :pray: status:unsolved 지원도 있으면 좋겠습니다. 또한 assigned:me와 같은 방식으로 필터를 구성할 수 있으면 사용자에 따라 결과가 달라지므로 정말 좋을 것 같습니다. 사용 사례: 봇이 링크를 클릭하면 자신에게 할당된 토픽을 열람할 수 있도록 링크를 포함해 모더레이터에게 메시지를 보내는 것입니다. 이렇게 하면 포럼을 관리할 때 참고해야 하는 모든 쿼리에 대한 링크가 포함된 일반 메시지를 모든 모더레이터에게 보낼 수 있어 유용합니다. 물론 웹 UI에서 할당된 토픽으로 쉽게 이동할 수 있지만, 링크를 클릭하거나 북마크로 접근할 수 있다면 작은 편의성(QoL) 개선이 될 것이라 생각합니다.

4개의 좋아요

현재 기능에는 이러한 유형의 선행 사례가 있으므로, 이러한 다른 기능들도 분명히 고려해 볼 수 있다고 생각합니다:

3개의 좋아요

안녕하세요,

이 기능이 정식 버전인지 아니면 어떤 종류의 베타 버전인지 알려주실 수 있을까요? 설정을 찾지 못했습니다.

토니, 안녕 :wave:

당신의 인스턴스가 최신 상태인가요?

테스트 포럼에서 해당 설정을 켜두었습니다:

자체 호스팅뿐만 아니라 Discourse Hosted 포럼에서도 사용할 수 있습니다.

설명에 나와 있듯이 “실험적” 단계이므로 시간이 지남에 따라 많은 변경 사항이 있을 수 있으며, 버그나 불일치가 발생할 수 있습니다.

1개의 좋아요

저는 이미 이 기능이 플랫폼을 처음 접하는 커뮤니티 매니저들에게 디스코스의 기본 기능을 설명하는 데 매우 유용하다고 생각합니다. 즉, 주제(topics)의 컬렉션을 보유하고 있으며, 이를 다양한 방식으로 필터링하고 정렬할 수 있다는 점입니다.

지금까지 이러한 필터들은 인터페이스 곳곳에 흩어져 있었지만, 필터 라우트(route)는 사용 가능한 옵션에 접근하고 학습할 수 있는 하나의 중앙 장소를 제공합니다:

이 점을 고려할 때, 다음 두 가지 옵션이 추가되면 유용할 것 같습니다:

  • 날짜(Date) 섹션에서 상대 시간(지난주, 월, 연도 등) 기준으로 필터링할 수 있는 기능
  • 정렬(Sort) 섹션에서 인기(좋아요 수와 다른 개념) 기준으로 정렬할 수 있는 기능
5개의 좋아요

이 기능은 좋습니다. 하지만 순수 텍스트로만 검색할 수 있으면 좋겠습니다. 가끔 삭제된 주제를 찾아야 하는데, 어떤 사용자가 만든 것인지 몰라서 키워드로 삭제된 항목을 바로 검색하는 대신, 여러 항목을 하나씩 확인해야 할 때가 있습니다.

어느 시점에 이 기능을 검색과 연결하여 기능의 균일성을 맞추는 것이 목표라고 생각합니다. 다만, 정확한 일정에 대해서는 아직 확정된 바가 없습니다.

3개의 좋아요

답글 수나 투표 수 기준으로 결과를 정렬할 수 있나요? 커뮤니티 관심도 순으로 기능 요청 사항을 나열하면서 ‘구현됨’ 태그가 붙은 항목은 제외하고 싶었습니다. 하지만 그런 옵션이 없는 것 같습니다.

제 사용 사례에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

2개의 좋아요