Эффективный поиск контента

:bookmark: This guide provides a comprehensive overview of Discourse’s search capabilities, including filters, options, and advanced techniques.

:person_raising_hand: Required user level: All users

Discourse offers a powerful search functionality with numerous filters and criteria. When you use the advanced search form, it automatically appends the relevant syntax to your query. For example, selecting [x] In my messages will add in:personal to your search query.

This guide covers all available search options and features in Discourse, and provides useful tips and tricks for using the search function.

Filters

Discourse provides a wide range of filters to help you refine your search results. Here’s a comprehensive list of available filters:

Search Scope Filters

Syntax Description
in:title Returns topics with the search term in the title
in:first Returns only first posts in topics
in:replies Returns only posts that are replies, excludes topic OPs
in:all-posts Returns every post that matches the query, even when multiple posts match within the same topic
in:all Returns posts from public topics and personal messages
in:personal Searches within your personal messages
in:personal-direct Returns posts in personal messages between two users only
in:all-pms :information_source: For Admins only
Returns posts from all personal messages, including those you’re not a part of
topic:topic_id Returns posts within a specific topic
include:unlisted :information_source: For Trust Level 4 and staff only
Returns posts, including those from unlisted topics

Post Type Filters

Syntax Description
in:regular Returns regular posts only (excludes whispers, small action posts, and staff-colored posts)
in:whisper :information_source: For users with whisper access only
Returns whisper posts
in:pinned Returns posts from pinned topics
in:wiki Returns wiki posts
with:images Returns posts containing images
in:bot Returns posts by bot users
in:human Returns posts by human users

User and Group Filters

Syntax Description
@username Returns posts by username
user:username Returns posts by username
created:@username Returns posts from topics created by username
group:group_name Returns posts from users within the group_name group
group_messages:group_name Returns posts from personal messages sent to the group_name group
personal_messages:username :information_source: For Admins only
Returns posts from personal messages of the specified user
badge:name_or_id Returns posts linked to a specific badge grant

User-Specific Filters (Logged-In)

Syntax Description
in:seen Returns posts you’ve seen
in:unseen Returns posts you haven’t seen
in:watching Returns posts from topics you’re watching
in:tracking Returns posts from topics you’re tracking
in:bookmarks Returns posts you’ve bookmarked
in:likes Returns posts you’ve liked
in:posted Returns your posts
in:created Returns first posts of topics you created

Category and Tag Filters

Syntax Description
categories:category1,category2 Returns posts from the categories category1 and category2
#slug Searches by category slug or tag name, depending on context
tags:tag1,tag2,tag3 Returns posts tagged with tag1, tag2, or tag3 (comma = OR)
tags:tag1+tag2+tag3 Returns posts tagged with all of tag1, tag2, and tag3 (plus = AND)
-tags:tag1,tag2,tag3 Returns posts not tagged with tag1, tag2, or tag3
in:tagged Returns posts from topics that have at least one tag
in:untagged Returns posts from topics with no tags

Post and View Count Filters

Syntax Description
posts_count:X Returns posts from topics that have exactly X posts
min_posts:X Returns posts from topics with at least X posts
max_posts:X Returns posts from topics with at most X posts
min_views:X Returns posts from topics with at least X views
max_views:X Returns posts from topics with at most X views

Date Filters

Syntax Description
before:YYYY-MM-DD Returns posts created before the specified date
after:YYYY-MM-DD Returns posts created after the specified date
before:YYYY-MM Returns posts created before the specified month
after:YYYY-MM Returns posts created within and after the specified month
before:YYYY Returns posts created before the specified year
after:YYYY Returns posts created within and after the specified year
before:X Returns posts created more than X days ago (X = 1–999)
after:X Returns posts created within the last X days (X = 1–999)
before:day_of_week Returns posts created before the start of the specified day of the week
after:day_of_week Returns posts created on and after the start of the specified day of the week
before:month_name Returns posts created before the specified month (e.g. before:january or before:jan)
after:month_name Returns posts created within and after the specified month
before:yesterday Returns posts created before yesterday
after:yesterday Returns posts created after yesterday

Status Filters

Syntax Description
status:open Returns posts from topics that are not closed or archived
status:closed Returns posts from closed topics
status:archived Returns posts from archived topics
status:noreplies Returns posts from topics with no replies
status:single_user Returns posts from topics with posts from only one user
status:public Returns posts from topics in public categories

File Type Filters

Syntax Description
filetypes:ext1,ext2,ext3 Returns posts with uploads of ext1, ext2, or ext3 file extensions

Language Filters

Syntax Description
locale:language_code Returns posts written in that language, e.g. locale:en, locale:en_US, locale:en-gb
locale:any Returns posts that have a locale set
locale:none Returns posts without a locale

Order

You can sort your search results using the following order options:

Syntax Description
order:latest Sorts results from newest to oldest
order:oldest Sorts results from oldest to newest
order:latest_topic Sorts results by topic creation date, from newest to oldest
order:oldest_topic Sorts results by topic creation date, from oldest to newest
order:views Sorts results by number of views
order:likes Sorts results by number of likes
order:read (logged in only) Sorts by date you last visited the topic

Aliases

Discourse provides several aliases to make searching easier:

Syntax Equivalent
l order:latest
r order:read
f in:first
t in:title
in:personal in:messages
in:mine in:created
min_post_count: min_posts:
category: categories:
tag: tags:
filetype: filetypes:
# Can be used for both categories and tags, depending on context
user: @
@me @your_own_username

Searching for Exact Words

Discourse uses a technique called Stemming to find related words. While this is often helpful, there may be times when you want to search for an exact word. You can do this by enclosing your word with spaces and double quotes, like so: " term ".

This ensures that it will search only for the word “term” and exclude other related words.

:information_source: Note that because the spaces are considered part of the search term, it will not return “term” if it’s the first or the last word of a post since it won’t be preceded or followed by a space.

Example: Searching for @mentions

Currently, searching for @mentions is not directly supported. However, you can achieve this using the exact word search method:

https://meta.discourse.org/search?q=“%20%40username%20”

:information_source: This works because %20 is how spaces are encoded in URLs and %40 is how the @ symbol is encoded.

This query will look specifically for @username (enclosed in spaces).

Combining Search Options

You can combine multiple search options to create more specific queries. For example:

  • status:open category:support tag:urgent after:2023-01-01 order:latest
    This will search for open support topics tagged as urgent, created after January 1, 2023, and sort the results by the latest post.

  • @jane_doe in:watching min_posts:5 with:images
    This will search for posts by Jane Doe in topics you’re watching, with at least 5 posts, and containing images.

Permissions and Limitations

Some advanced search options may require certain user permissions or may be limited to specific user roles. For example:

  • in:all-pms is only available to administrators, not to regular users or moderators.
  • personal_messages:username is only available to administrators.
  • in:whisper requires whisper access.
  • include:unlisted is only available to Trust Level 4 users and staff.

Always consider your user role and permissions when using advanced search options.

Search Alternative: Topic List Filter

A /filter feature is available that supports many filter types. You can learn more on the official topic: Topics list filter feature

Source Files

For a more technical look at these options, all search filters and parameters can be found in search.rb - look for the advanced_filter methods.

Additional Tips

  1. You can also search for mentions of tags like #bug: https://meta.discourse.org/search?q=“%20%23bug”

  2. Some filters may be added by plugins. For example, the Solved plugin adds:

    • status:solved: Returns posts from solved topics
    • status:unsolved: Returns posts from unsolved topics in categories allowing solved marking
  3. The Topic Voting plugin adds:

    • order:votes: Sort results by number of votes on the topic containing the post
    • min_vote_count:X: Returns posts from topics with at least X votes
  4. The Assign plugin adds:

    • in:assigned: Returns posts from topics assigned to someone
    • in:unassigned: Returns posts from topics not assigned to anyone
    • assigned:username: Returns posts from topics assigned to username
  5. The Poll plugin adds:

    • in:polls: Returns posts containing polls

:bulb: Take some time to experiment with different combinations of filters and options to find the most effective search strategy for your needs.

Last edited by @ToddZ 2026-03-26T22:56:08Z

Last checked by @hugh 2024-07-25T01:14:19Z

Check documentPerform check on document:
13 лайков

Поскольку некоторые фильтры отсутствуют (например, in:pinned или in:bookmarks), а для тех, у которых есть псевдонимы, не приведены пояснения, я попытался добавить недостающую информацию. В результате таблица стала довольно сложной, поэтому я разделил её на более мелкие таблицы. Бот тоже делал нечто подобное здесь. Я не уверен, что все пояснения верны. Описания в теме и в диалоге @sam с ботом различаются. Для некоторых из них я даже снова спросил бота и получил другой результат (они выделены). Возможно, кто-то сможет помочь исправить описания. Также меня не совсем устраивает общий вид: ширина столбцов таблицы разная.


Фильтры

Фильтры поиска

Синтаксис Описание
topic:topic_id Возвращает сообщения в конкретной теме
in:title
t
Возвращает темы, содержащие указанный термин в заголовке
in:first
f
Возвращает только первые сообщения в темах
in:replies Возвращает только сообщения, являющиеся ответами, исключая оригинальные сообщения (OP) тем
in:regular Исключает сообщения с малыми действиями, шёпот и сообщения с цветом сотрудника
in:whispers
in:whisper
:information_source: Только для пользователей с доступом к шёпоту
Возвращает сообщения шёпота
include:unlisted
include:invisible
:information_source: Только для пользователей с уровнем доверия 4 и сотрудников
Возвращает сообщения, включая сообщения из тем, не включённых в список
in:all :information_source: Только для авторизованных пользователей
Возвращает сообщения из публичных тем и личных сообщений
in:all-posts Возвращает каждое сообщение, соответствующее запросу, даже если в одной теме найдено несколько совпадений
in:pinned Возвращает закреплённые сообщения
in:wiki Возвращает сообщения вики
with:images Возвращает сообщения, содержащие изображения
filetypes:ext1,ext2,ext3
filetype:ext1,ext2,ext3
Возвращает сообщения с вложениями файлов с расширениями ext1, ext2 или ext3
badge:name_or_id Возвращает сообщения, связанные с конкретной выдачей значка

Фильтры личных сообщений

(для авторизованных пользователей)

Синтаксис Описание
in:personal
in:messages
Возвращает сообщения из личных сообщений
in:personal-direct Возвращает сообщения из личных сообщений между вами и ровно одним другим пользователем
group_messages:group_name_or_id Возвращает сообщения из личных сообщений, отправленных группе group_name (это работает только если группа и её участники видны для вас)
personal_messages:username :information_source: Только для администраторов
Возвращает сообщения из личных сообщений указанного пользователя
in:all-pms :information_source: Только для администраторов
Возвращает сообщения из всех личных сообщений, включая те, в которых вы не участвуете

Фильтры, специфичные для пользователей и групп

Синтаксис Описание
@username
user:username_or_id
Возвращает сообщения от пользователя username
created:@username
in:first @username
Возвращает первые сообщения в темах, созданных пользователем username
group:group_name_or_id Возвращает сообщения от пользователей, состоящих в группе group_name
in:bot
in:bots
Возвращает сообщения от системных аккаунтов и аккаунтов ботов (например, @system, @discobot)
in:human
in:humans
Возвращает сообщения от обычных пользователей

Фильтры по категориям и тегам

Синтаксис Описание
category:category1
#category1
Возвращает сообщения из категории category1 и её подкатегорий
category:=category1
#=category1
Возвращает сообщения из категории category1, исключая её подкатегории
categories:category1,category2
category:category1,category2
Возвращает сообщения из категорий category1 и category2 и их подкатегорий
categories:=category1,=category2
category:=category1,=category2
Возвращает сообщения из категорий category1 и category2, исключая их подкатегории.
tag:tag1
#tag1
Возвращает сообщения из тем с тегом tag1
-tag:tag1 Возвращает сообщения из тем без тега tag1
tags:tag1,tag2
tag:tag1,tag2
Возвращает сообщения из тем с тегом tag1 или tag2
-tags:tag1,tag2
-tag:tag1,tag2
Возвращает сообщения из тем без тегов tag1 или tag2
tags:tag1+tag2
tag:tag1+tag2
Возвращает сообщения из тем с тегами tag1 и tag2
-tags:tag1+tag2
-tag:tag1+tag2
Возвращает сообщения из тем без одновременно тегов tag1 и tag2
in:tagged Возвращает сообщения из тем, имеющих хотя бы один тег
in:untagged Возвращает сообщения из тем без тегов

Персонализированные фильтры (специфичные для пользователя)

(для авторизованных пользователей)

Синтаксис Описание
in:seen Возвращает сообщения, которые вы уже видели
in:unseen Возвращает сообщения, которые вы ещё не видели
in:watching Возвращает сообщения из тем, за которыми вы следите
in:tracking Возвращает сообщения из тем, которые вы отслеживаете
in:bookmarks Возвращает сообщения, добавленные вами в закладки
@me
@your_own_username
Возвращает сообщения, написанные вами
in:posted Возвращает все сообщения из тем, в которых вы участвовали
in:created
in:mine
Возвращает первые сообщения из тем, созданных вами

Фильтры по количеству сообщений и просмотров

Синтаксис Описание
min_posts:X
min_post_count:X
Возвращает сообщения из тем, содержащих не менее X сообщений
max_posts:X Возвращает сообщения из тем, содержащих не более X сообщений
posts_count:X Возвращает сообщения из тем, содержащих ровно X сообщений
min_views:X Возвращает сообщения из тем с не менее чем X просмотрами
max_views:X Возвращает сообщения из тем с не более чем X просмотрами

Фильтры по дате

Все даты указаны в UTC. В качестве начального времени для любого периода всегда используется начало дня по UTC.

Синтаксис Описание
before:YYYY-MM-DD Возвращает сообщения, созданные до указанной даты
after:YYYY-MM-DD Возвращает сообщения, созданные после указанной даты
before:day_of_week Возвращает сообщения, созданные до указанного дня недели
after:day_of_week Возвращает сообщения, созданные в указанный день недели и позже
before:X Возвращает сообщения, созданные более X дней назад
after:X Возвращает сообщения, созданные в течение последних X дней
before:month Возвращает сообщения, созданные до указанного месяца
after:month Возвращает сообщения, созданные в течение указанного месяца и позже
before:YYYY Возвращает сообщения, созданные до указанного года
after:YYYY Возвращает сообщения, созданные в течение указанного года и позже

Фильтры по статусу

Синтаксис Описание
status:open Возвращает сообщения из тем, которые не закрыты и не архивированы
status:closed Возвращает сообщения из закрытых тем
status:archived Возвращает сообщения из архивированных тем
status:noreplies Возвращает сообщения из тем без ответов
status:single_user Возвращает сообщения из тем, где есть сообщения только от одного пользователя
status:public Возвращает сообщения из тем в публичных категориях

Фильтры по языку

Синтаксис Описание
locale:language_code Возвращает сообщения, написанные на указанном языке, например en, en_US, en-gb
locale:any
locale:present
Возвращает сообщения, для которых установлен локаль
locale:none
locale:null
Возвращает сообщения без установленного локала

Фильтры, добавленные плагинами

Синтаксис Описание
Назначение
in:assigned Возвращает сообщения из тем, назначенных кому-либо
in:unassigned Возвращает сообщения из тем, не назначенных никому
assigned:username Возвращает сообщения из тем, назначенных пользователю username
Документация
in:docs
in:kb
Возвращает сообщения из категорий и тегов, включённых в документацию
Категории документации
in:docs Возвращает сообщения из категорий, имеющих индексную тему
Опросы
in:polls Возвращает сообщения, содержащие опросы
Решённые
status:solved Возвращает сообщения из решённых тем
status:unsolved Возвращает сообщения из нерешённых тем в категориях, где разрешена отметка «решено»
Голосование за темы
min_vote_count:X Возвращает сообщения из тем с не менее чем X голосами

Сортировка

Синтаксис Описание
order:latest
l
Сортирует результаты от новых к старым
order:oldest Сортирует результаты от старых к новым
order:latest_topic Сортирует результаты по дате темы, от новых к старым
order:oldest_topic Сортирует результаты по дате темы, от старых к новым
order:views Сортирует результаты по количеству просмотров
order:likes Сортирует результаты по количеству лайков
order:read
r
:information_source: Только для авторизованных пользователей
Сортирует результаты по дате последнего посещения темы

Опции сортировки, добавленные плагинами

Синтаксис Описание
Голосование за темы
order:votes Сортирует результаты по количеству голосов за тему, содержащую сообщение
5 лайков

Приношу извинения всем. Я только что выполнил крупное обновление и удалил множество устаревших обсуждений здесь. Дайте знать, если заметите какие-либо ошибки в вышеуказанном документе, и я с радостью добавлю недостающее.

Документ был сверен с текущим исходным кодом, поэтому теперь он должен быть актуальным.

Не могли бы вы предоставить мне содержимое вики, которое было ниже этого сообщения? Я не помню всего, что добавил. Мне кажется, что в первом посте чего-то не хватает, например, инструкции о том, как искать внутри категории, исключая её подкатегории.

Я могу сделать лучше. Привет, пока восстановил. Если считаете, что в исходном посте нужны дополнительные правки, не стесняйтесь предложить их — как только сделаете, дайте знать, и я всё улажу.

Пользователи уровня TL3 теперь могут предлагать правки, но у нас огромный backlog, так что нам может потребоваться время, чтобы до них добраться.

1 лайк