This guide explains Discourse’s advanced topic filtering system, including the complete query language syntax, filter options, and how to use the
/filterroute effectively.
Required user level: All users
Using the Discourse topic filter query language
Discourse’s topic filter provides a powerful query language for finding topics based on multiple criteria. This advanced search interface allows you to combine filters, sort results, and create precise queries for any content on your forum.
Accessing the filter
You can access the topic filter in two ways:
Direct URL access:
Navigate to /filter on your Discourse instance (for example: https://meta.discourse.org/filter)
Sidebar navigation:
Click “More” in your sidebar, then select the filter option
The filter interface includes an intelligent autocomplete system that suggests available filters and values as you type.
Basic query syntax
Filters use a structured syntax with the format:
filter-name:value
Combine multiple filters:
category:support status:open created-after:2023-01-01
Include regular search terms:
category:support ssl certificate error
This searches for topics in the “support” category containing the words “ssl certificate error”.
Category filters
category: (alias: categories:)
Filter topics by category
Basic usage:
category:support
category:dev,support # Topics in dev OR support categories
category:documentation:admins # Topics in admins subcategory of documentation
Advanced prefixes:
=- Category without subcategories:=category:general-- Exclude category:-category:off-topic-=- Exclude category without subcategories:-=category:meta
Examples:
category:bug,feature # Include bug or feature categories (with subcategories)
=category:bug,feature # Include bug or feature categories (without subcategories)
-category:bug,feature # Exclude bug or feature categories (with subcategories)
-=category:bug,feature # Exclude bug or feature categories (without subcategories)
Tag filters
tag: (alias: tags:)
Filter topics by tags (requires tagging to be enabled)
Basic usage:
tag:bug
tag:feature,enhancement # Topics with feature OR enhancement tags
tag:bug+urgent # Topics with BOTH bug AND urgent tags
Exclusion:
-tag:solved # Exclude topics with solved tag
-tag:bug+urgent # Exclude topics with both bug and urgent tags
-tag:bug,urgent # Exclude topics with bug or urgent tags
tag_group:
Filter by tag groups
Basic usage:
tag_group:moderation
tag_group:"tag group name" # Use quotes for names with spaces or special characters
-tag_group:staff-only # Exclude topics with tags from staff-only group
Date filters
All date filters support both specific dates (YYYY-MM-DD) and relative days:
Activity dates
activity-before:- Topics with last activity before dateactivity-after:- Topics with last activity after date
Creation dates
created-before:- Topics created before datecreated-after:- Topics created after date
Latest post dates
latest-post-before:- Topics with latest post before datelatest-post-after:- Topics with latest post after date
Date format examples:
created-after:2023-12-25 # Specific date (YYYY-MM-DD)
created-after:30 # 30 days ago
created-after:1 # Yesterday
created-after:0 # Today
Quick suggestions:
1- Yesterday7- Last week30- Last month365- Last year
User filters
created-by:
Filter by topic author (username or group name)
Basic usage:
created-by:username
created-by:user1,user2 # Topics by user1 OR user2
created-by:@username # @ prefix is optional
created-by:me
created-by:staff # Topics created by members of the "staff" group
users: (alias: user:)
Filter topics where specific users have participated (posted in the topic)
Basic usage:
users:username # Topics where username has posted
users:user1,user2 # Topics where user1 OR user2 has posted
users:user1+user2 # Topics where BOTH user1 AND user2 have posted
Exclusion:
-users:username # Topics where username has NOT posted
-users:user1,user2 # Topics where neither user1 nor user2 has posted
-users:user1+user2 # Topics where at least one of user1 or user2 has NOT posted
group: (alias: groups:)
Filter topics where members of specific groups have participated
Basic usage:
group:staff # Topics where a staff group member has posted
group:staff,moderators # Topics where a member of staff OR moderators has posted
group:staff+moderators # Topics where members of BOTH staff AND moderators have posted
Personal filters (authenticated users only)
in:
Filter by your personal relationship to topics
Available options:
in:pinned- Topics pinned for youin:bookmarked- Topics you’ve bookmarkedin:watching- Topics you’re watchingin:tracking- Topics you’re trackingin:muted- Topics you’ve mutedin:normal- Topics with normal notification levelin:watching_first_post- Topics in categories or tags where you watch first postin:new- Topics with new activity (new topics you haven’t seen + unread replies)in:new-topics- New topics you haven’t seen yetin:new-replies- Topics with unread repliesin:unseen- Topics you haven’t viewed yet
Examples:
in:bookmarked category:support
in:watching,tracking # Topics you're watching OR tracking
in:unseen category:welcome # Unseen topics in the welcome category
in:new order:created # All new activity, sorted by creation date
Numeric filters
Like filters
likes-min:- Minimum total likes across all postslikes-max:- Maximum total likes across all postslikes-op-min:- Minimum likes on opening postlikes-op-max:- Maximum likes on opening post
Post count filters
posts-min:- Minimum number of postsposts-max:- Maximum number of posts
Participant filters
posters-min:- Minimum number of participantsposters-max:- Maximum number of participants
View count filters
views-min:- Minimum view countviews-max:- Maximum view count
Examples:
likes-min:10 # Topics with at least 10 likes
posts-min:5 posts-max:20 # Topics with 5-20 posts
views-min:100 likes-op-min:5 # Popular topics with engaged opening posts
Status filters
status:
Filter by topic status
Available statuses:
status:open- Open topics (not closed or archived)status:closed- Closed topicsstatus:archived- Archived topicsstatus:listed- Listed (visible) topicsstatus:unlisted- Unlisted topicsstatus:deleted- Deleted topics (requires permission)status:public- Public topics (non-restricted categories)
Plugin-specific statuses:
status:solved- Solved topics (with Solved plugin)status:unsolved- Unsolved topics (with Solved plugin)
Examples:
status:open category:support
status:closed created-after:30
Locale filter
locale:
Filter topics by locale
Basic usage:
locale:en # Topics in English
locale:en,fr # Topics in English OR French
-locale:fr # Exclude topics in French
Sorting options
order:
Sort results by different criteria
Available sorts:
order:activity- Latest activity (default, descending)order:activity-asc- Oldest activity firstorder:created- Creation date (newest first)order:created-asc- Oldest firstorder:latest-post- Latest post dateorder:latest-post-asc- Oldest latest postorder:likes- Most likes across all postsorder:likes-asc- Least likesorder:likes-op- Most likes on opening postorder:likes-op-asc- Least likes on opening postorder:posters- Most participantsorder:posters-asc- Least participantsorder:title- Alphabetical by title (Z→A)order:title-asc- Alphabetical by title (A→Z)order:views- Most viewsorder:views-asc- Least viewsorder:hot- Highest hot scoreorder:hot-asc- Lowest hot scoreorder:category- Category nameorder:category-asc- Reverse category nameorder:read- Last read date (authenticated users)order:read-asc- Oldest read first
Advanced examples
Find popular recent discussions:
created-after:7 likes-min:10 order:likes
Support topics needing attention:
category:support status:open posts-max:3 created-after:7
Your bookmarked development topics:
category:dev in:bookmarked order:activity
Exclude solved bug reports:
category:bug -tag:solved status:open order:created
High-engagement topics from specific users:
created-by:admin,moderator likes-min:5 views-min:100
Recent unlisted topics (staff only):
status:unlisted created-after:30 order:created
Autocomplete features
The filter input provides intelligent suggestions:
- Filter suggestions - Shows available filters as you type
- Category autocomplete - Suggests categories by name or slug
- Tag autocomplete - Suggests tags with post counts
- Username autocomplete - Suggests usernames with display names
- Date suggestions - Offers quick date options (yesterday, last week, etc.)
- Prefix support - Shows prefix options for categories and tags
Tips and best practices
- Use autocomplete - The filter interface provides intelligent suggestions as you type
- Combine filters - Mix different filter types for precise results
- Share filter URLs - Filter URLs are shareable - copy the URL to share your search
- Add useful filters to your sidebar - Filter URLs can be added to your sidebar for easy access
- Use exclusion - Use
-prefix to exclude unwanted results - Date shortcuts - Use numbers for relative dates (30 = 30 days ago)
- Keyboard navigation - Use arrow keys to navigate suggestions, Tab/Enter to select
- Quote special characters - Use quotes for tag group names with spaces or special characters
Creating custom sidebar links
You can add filter links to your sidebar as custom links:
- Go to your sidebar settings
- Add a custom link with a filter URL like
/filter?q=category:support status:open - Give it a descriptive name like “Open Support Topics”
Technical notes
- The filter uses full-text search for keywords combined with filters
- Minimum search term length applies to keyword searches
- Results are permission-aware - you only see topics you can access
- Filter queries are processed server-side for performance
- The feature supports plugin extensions for custom filters
