토픽 목록 필터 기능

최근에 혁신적인 /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개의 좋아요

I don’t think you should be able to see the priority tags. They’re just for us. :shushing_face: :slight_smile:

Does it work if you don’t include it?

3개의 좋아요


Looks like if I remove this tag it doesn’t work either


update: the “alias” works perfectly.

2개의 좋아요

Sorry I just realised my PR to add support for the tag: alias was not merged.

https://github.com/discourse/discourse/pull/21353

It has now been merged so the tag: alias should work soon.

6개의 좋아요

Another problem: tags filter currently don’t support non-ASCII characters, such as Chinese.

Example: tags:一个不存在的标签 returns every topics, but tags:a-non-existent-tag returns nothing, as expected.


I checked the source, it’s caused by

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

Kudos for the nice work @tgxworld . This opens up multiple possibilities.

Just curious to know if it could provide a contextual filtering option ?

For eg. If I select announcements category from sidebar, can we show the filter panel (the new one you have created) at the top to filter by multiple tags (chat, new-feature) within the category.

Currently one cannot filter by multiple tags as an end user intuitively - manually we have to use /tags/interesection/chat/new-feature endpoint. End users may not be aware of this possibility especially to do it within a category.

5개의 좋아요

O good catch. I have a fix for tags in

https://github.com/discourse/discourse/pull/21405

The category filter will need a similar fix but it is slightly more complicated. I should have it completed by next week.

5개의 좋아요

There’s a missing translation string when a new topic appears in /filter:

[en.topic_count_all count=1]

4개의 좋아요

The feature sounds solid and will definitely help building better & customized feeds of topics for our users! Thank you!

Meanwhile I have a question if this feature allows us to approach embedding latest posts from across multiple topics within specific categories/tags?

1개의 좋아요

No, that’s not currently part of the plan here, I don’t think.

If you give the current feature a try as is and still find this is something you’d like to be able to do, can you start a new topic about it with a bit more detail about what you’re thinking?

1개의 좋아요

Thanks for this very useful feature!

Would it be possible to also add created-by:me or something similar that automatically filters for topics created by the current user? This would of course be similar to /my/activity/topics , but it might be useful for combining with other filters and adding it to the sidebar for all users.

Also, how about a in:participated filter for all topics that I have posted in regardless of their tracking/notification setting?

5개의 좋아요

This is great! :pray: I’d also love to have support for status:unsolved. I also think it would be great if we could construct a filter with something like assigned:me so that the result is different, depending on the user. Use case: a bot that messages our moderators with links they can click to pull up their assigned topics. This would be handy so that we can have a generic message that is sent to all moderators with links to all the queries they need to reference when moderating the forum. Obviously, they can navigate to the assigned topics easily from the web UI, but I think it would be a small QoL improvement if they can click a link or bookmark.

4개의 좋아요

There is some precedence for this kind of thing in the current feature, so I think we can certainly consider other things like this:

3개의 좋아요

Hi,

Can someone let me know if this is in the public version or some sort of beta? Didn’t find the setting.

Hi Tony :wave:

Is your instance up-to-date?

I have the setting on my test forum:

It’s also available on Discourse Hosted forums, not only self-hosted.

As stated it’s “experimental”, which means there might/will be many changes over time, and bugs or inconsistency to expect.

1개의 좋아요

I already find this very helpful to explain basic functionality of Discourse to community managers new to the platform. That is: We have a collection of topics and we can filter and sort them in many ways.

So far, these filters have been spread out across the interface, but the filter route offers one central place to access and learn about the available options:

With this in mind, I’d find it helpful to have two more options included:

  • in the Date section, also filter by relative time (last week, month, year,..)
  • in the Sort section, also sort by popularity (which is different to number of likes)
5개의 좋아요

I like the feature. I would like to be able to search just for plain text though. Sometimes I find my self needing to find a deleted topic but dont know what user made it so I need to go through a bunch before I find it instead of juts being able to search through deleted with a key word(s)

I think the aspiration is to wire this up to the Search at some point in the future for parity, though I’m afraid there’s no definitive timeline on that.

3개의 좋아요

Can you sort / order the result by the number of replies or number of votes? I was hoping to use this to list feature requests ordered by community interest, while filtering out those tagged as ‘implemented’. However, it doesn’t seem to be an option.

My use case is described in more detail here.

2개의 좋아요