Это руководство дает исчерпывающий обзор возможностей поиска в Discourse, включая фильтры, параметры и продвинутые техники.
Требуемый уровень пользователя: Все пользователи
Discourse предлагает мощный функционал поиска с множеством фильтров и критериев. При использовании расширенной формы поиска она автоматически добавляет соответствующий синтаксис к вашему запросу. Например, выбор [x] В моих сообщениях добавит in:personal к вашему поисковому запросу.
Это руководство охватывает все доступные параметры и функции поиска в Discourse, а также предоставляет полезные советы и приемы для использования функции поиска.
Фильтры
Discourse предоставляет широкий спектр фильтров, помогающих уточнить результаты поиска. Вот полный список доступных фильтров:
Фильтры области поиска
| Синтаксис | Описание |
|---|---|
in:title |
Возвращает темы, содержащие поисковый термин в заголовке |
in:first |
Возвращает только первые сообщения в темах |
in:replies |
Возвращает только сообщения, являющиеся ответами, исключая оригинальные сообщения тем (OP) |
in:all-posts |
Возвращает каждое сообщение, соответствующее запросу, даже если несколько сообщений совпадают в рамках одной темы |
in:all |
Возвращает сообщения из публичных тем и личных сообщений |
in:personal |
Ищет внутри ваших личных сообщений |
in:personal-direct |
Возвращает сообщения в личных переписках только между двумя пользователями |
in:all-pms |
Возвращает сообщения из всех личных переписок, включая те, в которых вы не участвуете |
topic:topic_id |
Возвращает сообщения в рамках конкретной темы |
include:unlisted |
Возвращает сообщения, включая те, что находятся в непубличных (неспомещенных в списки) темах |
Фильтры типов сообщений
| Синтаксис | Описание |
|---|---|
in:regular |
Возвращает только обычные сообщения (исключает шепот, сообщения о малых действиях и сообщения сотрудников с цветовой маркировкой) |
in:whisper |
Возвращает сообщения типа «шепот» |
in:pinned |
Возвращает сообщения из закрепленных тем |
in:wiki |
Возвращает сообщения вики |
with:images |
Возвращает сообщения, содержащие изображения |
in:bot |
Возвращает сообщения от ботов |
in:human |
Возвращает сообщения от людей |
Фильтры пользователей и групп
| Синтаксис | Описание |
|---|---|
@username |
Возвращает сообщения от username |
user:username |
Возвращает сообщения от username |
created:@username |
Возвращает сообщения из тем, созданных username |
group:group_name |
Возвращает сообщения от пользователей группы group_name |
group_messages:group_name |
Возвращает сообщения из личных переписок, отправленных группе group_name |
personal_messages:username |
Возвращает сообщения из личных переписок указанного пользователя |
badge:name_or_id |
Возвращает сообщения, связанные с конкретной выдачей значка |
Специфичные для пользователя фильтры (для авторизованных)
| Синтаксис | Описание |
|---|---|
in:seen |
Возвращает сообщения, которые вы уже видели |
in:unseen |
Возвращает сообщения, которые вы еще не видели |
in:watching |
Возвращает сообщения из тем, за которыми вы следите |
in:tracking |
Возвращает сообщения из тем, которые вы отслеживаете |
in:bookmarks |
Возвращает сообщения, которые вы добавили в закладки |
in:likes |
Возвращает сообщения, которые вам понравились |
in:posted |
Возвращает ваши сообщения |
in:created |
Возвращает первые сообщения тем, которые вы создали |
Фильтры по категориям и тегам
| Синтаксис | Описание |
|---|---|
categories:category1,category2 |
Возвращает сообщения из категорий category1 и category2 |
#slug |
Ищет по слагу категории или имени тега в зависимости от контекста |
tags:tag1,tag2,tag3 |
Возвращает сообщения с тегами tag1, tag2 или tag3 (запятая = ИЛИ) |
tags:tag1+tag2+tag3 |
Возвращает сообщения со всеми тегами tag1, tag2 и tag3 (плюс = И) |
-tags:tag1,tag2,tag3 |
Возвращает сообщения без тегов tag1, tag2 или tag3 |
in:tagged |
Возвращает сообщения из тем, имеющих хотя бы один тег |
in:untagged |
Возвращает сообщения из тем без тегов |
Фильтры по количеству сообщений и просмотров
| Синтаксис | Описание |
|---|---|
posts_count:X |
Возвращает сообщения из тем, имеющих ровно X сообщений |
min_posts:X |
Возвращает сообщения из тем, имеющих как минимум X сообщений |
max_posts:X |
Возвращает сообщения из тем, имеющих не более X сообщений |
min_views:X |
Возвращает сообщения из тем, имеющих как минимум X просмотров |
max_views:X |
Возвращает сообщения из тем, имеющих не более X просмотров |
Фильтры по дате
| Синтаксис | Описание |
|---|---|
before:YYYY-MM-DD |
Возвращает сообщения, созданные до указанной даты |
after:YYYY-MM-DD |
Возвращает сообщения, созданные после указанной даты |
before:YYYY-MM |
Возвращает сообщения, созданные до указанного месяца |
after:YYYY-MM |
Возвращает сообщения, созданные в указанном месяце и после него |
before:YYYY |
Возвращает сообщения, созданные до указанного года |
after:YYYY |
Возвращает сообщения, созданные в указанном году и после него |
before:X |
Возвращает сообщения, созданные более X дней назад (X = 1–999) |
after:X |
Возвращает сообщения, созданные в последние X дней (X = 1–999) |
before:day_of_week |
Возвращает сообщения, созданные до начала указанного дня недели |
after:day_of_week |
Возвращает сообщения, созданные в указанный день недели и после него |
before:month_name |
Возвращает сообщения, созданные до указанного месяца (например, before:january или before:jan) |
after:month_name |
Возвращает сообщения, созданные в указанном месяце и после него |
before:yesterday |
Возвращает сообщения, созданные до вчера |
after:yesterday |
Возвращает сообщения, созданные после вчера |
Фильтры по статусу
| Синтаксис | Описание |
|---|---|
status:open |
Возвращает сообщения из тем, которые не закрыты и не заархивированы |
status:closed |
Возвращает сообщения из закрытых тем |
status:archived |
Возвращает сообщения из заархивированных тем |
status:noreplies |
Возвращает сообщения из тем без ответов |
status:single_user |
Возвращает сообщения из тем, где сообщения есть только от одного пользователя |
status:public |
Возвращает сообщения из тем в публичных категориях |
Фильтры по типу файла
| Синтаксис | Описание |
|---|---|
filetypes:ext1,ext2,ext3 |
Возвращает сообщения с загруженными файлами расширений ext1, ext2 или ext3 |
Фильтры по языку
| Синтаксис | Описание |
|---|---|
locale:language_code |
Возвращает сообщения, написанные на указанном языке, например locale:en, locale:en_US, locale:en-gb |
locale:any |
Возвращает сообщения, у которых установлен язык |
locale:none |
Возвращает сообщения без установленного языка |
Сортировка
Вы можете сортировать результаты поиска, используя следующие параметры сортировки:
| Синтаксис | Описание |
|---|---|
order:latest |
Сортирует результаты от новых к старым |
order:oldest |
Сортирует результаты от старых к новым |
order:latest_topic |
Сортирует результаты по дате создания темы, от новых к старым |
order:oldest_topic |
Сортирует результаты по дате создания темы, от старых к новым |
order:views |
Сортирует результаты по количеству просмотров |
order:likes |
Сортирует результаты по количеству лайков |
order:read |
(только для авторизованных) Сортирует по дате последнего посещения темы |
Алиасы
Discourse предоставляет несколько алиасов для упрощения поиска:
| Синтаксис | Эквивалент |
|---|---|
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: |
# |
Может использоваться как для категорий, так и для тегов в зависимости от контекста |
user: |
@ |
@me |
@ваш_собственный_ник |
Поиск точных слов
Discourse использует технику стемминга для поиска связанных слов. Хотя это часто полезно, бывают случаи, когда вы хотите найти точное слово. Это можно сделать, заключив слово в кавычки с пробелами по краям, например: " термин ".
Это гарантирует, что будет найден только термин «термин», и будут исключены другие связанные слова.
Обратите внимание, что поскольку пробелы считаются частью поискового термина, он не вернет «термин», если это первое или последнее слово в сообщении, так как оно не будет preceded или followed пробелом.
Пример: Поиск @упоминаний
В настоящее время прямой поиск по @упоминаниям не поддерживается. Однако вы можете добиться этого, используя метод поиска точных слов:
https://meta.discourse.org/search?q=“%20%40username%20”
Это работает, потому что
%20— это кодировка пробела в URL, а%40— кодировка символа@.
Этот запрос будет искать конкретно @username (окруженное пробелами).
Комбинирование параметров поиска
Вы можете комбинировать несколько параметров поиска для создания более специфичных запросов. Например:
-
status:open category:support tag:urgent after:2023-01-01 order:latest
Этот запрос ищет открытые темы поддержки с тегом urgent, созданные после 1 января 2023 года, и сортирует результаты по последнему сообщению. -
@jane_doe in:watching min_posts:5 with:images
Этот запрос ищет сообщения от Jane Doe в темах, за которыми вы следите, содержащих как минимум 5 сообщений и изображения.
Разрешения и ограничения
Некоторые расширенные параметры поиска могут требовать определенных прав доступа пользователя или быть ограничены конкретными ролями. Например:
in:all-pmsдоступен только администраторам, а не обычным пользователям или модераторам.personal_messages:usernameдоступен только администраторам.in:whisperтребует доступа к функциям шепота.include:unlistedдоступен только пользователям с уровнем доверия 4 и сотрудникам.
Всегда учитывайте свою роль и права доступа при использовании расширенных параметров поиска.
Альтернатива поиску: Фильтр списка тем
Доступна функция /filter, поддерживающая множество типов фильтров. Подробнее можно узнать в официальной теме: Topics list filter feature
Исходные файлы
Для более технического взгляда на эти параметры все фильтры и параметры поиска можно найти в файле search.rb — ищите методы advanced_filter.
Дополнительные советы
-
Вы также можете искать упоминания тегов, например #bug: https://meta.discourse.org/search?q=“%20%23bug”
-
Некоторые фильтры могут добавляться плагинами. Например, плагин Solved добавляет:
status:solved: Возвращает сообщения из решенных темstatus:unsolved: Возвращает сообщения из нерешенных тем в категориях, разрешающих отметку решения
-
Плагин Topic Voting добавляет:
order:votes: Сортирует результаты по количеству голосов за тему, содержащую сообщениеmin_vote_count:X: Возвращает сообщения из тем с как минимум X голосами
-
Плагин Assign добавляет:
in:assigned: Возвращает сообщения из тем, назначенных кому-тоin:unassigned: Возвращает сообщения из тем, не назначенных никомуassigned:username: Возвращает сообщения из тем, назначенныхusername
-
Плагин Poll добавляет:
in:polls: Возвращает сообщения, содержащие опросы
Уделите время экспериментированию с различными комбинациями фильтров и параметров, чтобы найти наиболее эффективную стратегию поиска для ваших нужд.